ARMMCAsmInfo.cpp revision 243830
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 17using namespace llvm; 18 19cl::opt<bool> 20EnableARMEHABI("arm-enable-ehabi", cl::Hidden, 21 cl::desc("Generate ARM EHABI tables"), 22 cl::init(false)); 23 24 25void ARMMCAsmInfoDarwin::anchor() { } 26 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 40void ARMELFMCAsmInfo::anchor() { } 41 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