1 //===-- ARMMCAsmInfo.cpp - ARM asm properties -----------------------------===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 // 10 // This file contains the declarations of the ARMMCAsmInfo properties. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #include "ARMMCAsmInfo.h" 15 #include "llvm/Support/CommandLine.h" 16 17 using namespace llvm; 18 19 void ARMMCAsmInfoDarwin::anchor() { } 20 21 ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin() { 22 Data64bitsDirective = 0; 23 CommentString = "@"; 24 Code16Directive = ".code\t16"; 25 Code32Directive = ".code\t32"; 26 UseDataRegionDirectives = true; 27 28 SupportsDebugInformation = true; 29 30 // Exceptions handling 31 ExceptionsType = ExceptionHandling::SjLj; 32 33 UseIntegratedAssembler = true; 34 } 35 36 void ARMELFMCAsmInfo::anchor() { } 37 38 ARMELFMCAsmInfo::ARMELFMCAsmInfo() { 39 // ".comm align is in bytes but .align is pow-2." 40 AlignmentIsInBytes = false; 41 42 Data64bitsDirective = 0; 43 CommentString = "@"; 44 Code16Directive = ".code\t16"; 45 Code32Directive = ".code\t32"; 46 47 HasLEB128 = true; 48 SupportsDebugInformation = true; 49 50 // Exceptions handling 51 ExceptionsType = ExceptionHandling::ARM; 52 53 // foo(plt) instead of foo@plt 54 UseParensForSymbolVariant = true; 55 56 UseIntegratedAssembler = true; 57 } 58