AArch64MCAsmInfo.cpp revision 36b56886974eae4f9c5ebc96befd3e7bfe5de338
1//===-- AArch64MCAsmInfo.cpp - AArch64 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 AArch64MCAsmInfo properties. 11// 12//===----------------------------------------------------------------------===// 13 14#include "AArch64MCAsmInfo.h" 15#include "llvm/ADT/Triple.h" 16 17using namespace llvm; 18 19AArch64ELFMCAsmInfo::AArch64ELFMCAsmInfo(StringRef TT) { 20 Triple TheTriple(TT); 21 if (TheTriple.getArch() == Triple::aarch64_be) 22 IsLittleEndian = false; 23 24 PointerSize = 8; 25 26 // ".comm align is in bytes but .align is pow-2." 27 AlignmentIsInBytes = false; 28 29 CommentString = "//"; 30 Code32Directive = ".code\t32"; 31 32 Data16bitsDirective = "\t.hword\t"; 33 Data32bitsDirective = "\t.word\t"; 34 Data64bitsDirective = "\t.xword\t"; 35 36 HasLEB128 = true; 37 SupportsDebugInformation = true; 38 39 // Exceptions handling 40 ExceptionsType = ExceptionHandling::DwarfCFI; 41 42 UseIntegratedAssembler = true; 43} 44 45// Pin the vtable to this file. 46void AArch64ELFMCAsmInfo::anchor() {} 47