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 cl::opt<bool> 20 EnableARMEHABI("arm-enable-ehabi", cl::Hidden, 21 cl::desc("Generate ARM EHABI tables"), 22 cl::init(false)); 23 24 anchor()25void ARMMCAsmInfoDarwin::anchor() { } 26 ARMMCAsmInfoDarwin()27ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin() { 28 Data64bitsDirective = 0; 29 CommentString = "@"; 30 Code16Directive = ".code\t16"; 31 Code32Directive = ".code\t32"; 32 UseDataRegionDirectives = true; 33 34 SupportsDebugInformation = true; 35 36 // Exceptions handling 37 ExceptionsType = ExceptionHandling::SjLj; 38 } 39 anchor()40void ARMELFMCAsmInfo::anchor() { } 41 ARMELFMCAsmInfo()42ARMELFMCAsmInfo::ARMELFMCAsmInfo() { 43 // ".comm align is in bytes but .align is pow-2." 44 AlignmentIsInBytes = false; 45 46 Data64bitsDirective = 0; 47 CommentString = "@"; 48 PrivateGlobalPrefix = ".L"; 49 Code16Directive = ".code\t16"; 50 Code32Directive = ".code\t32"; 51 52 WeakRefDirective = "\t.weak\t"; 53 54 HasLEB128 = true; 55 SupportsDebugInformation = true; 56 57 // Exceptions handling 58 if (EnableARMEHABI) 59 ExceptionsType = ExceptionHandling::ARM; 60 } 61