AArch64MCAsmInfo.cpp revision 72062f5744557e270a38192554c3126ea5f97434
172062f5744557e270a38192554c3126ea5f97434Tim Northover//===-- AArch64MCAsmInfo.cpp - AArch64 asm properties ---------------------===//
272062f5744557e270a38192554c3126ea5f97434Tim Northover//
372062f5744557e270a38192554c3126ea5f97434Tim Northover//                     The LLVM Compiler Infrastructure
472062f5744557e270a38192554c3126ea5f97434Tim Northover//
572062f5744557e270a38192554c3126ea5f97434Tim Northover// This file is distributed under the University of Illinois Open Source
672062f5744557e270a38192554c3126ea5f97434Tim Northover// License. See LICENSE.TXT for details.
772062f5744557e270a38192554c3126ea5f97434Tim Northover//
872062f5744557e270a38192554c3126ea5f97434Tim Northover//===----------------------------------------------------------------------===//
972062f5744557e270a38192554c3126ea5f97434Tim Northover//
1072062f5744557e270a38192554c3126ea5f97434Tim Northover// This file contains the declarations of the AArch64MCAsmInfo properties.
1172062f5744557e270a38192554c3126ea5f97434Tim Northover//
1272062f5744557e270a38192554c3126ea5f97434Tim Northover//===----------------------------------------------------------------------===//
1372062f5744557e270a38192554c3126ea5f97434Tim Northover
1472062f5744557e270a38192554c3126ea5f97434Tim Northover#include "AArch64MCAsmInfo.h"
1572062f5744557e270a38192554c3126ea5f97434Tim Northover
1672062f5744557e270a38192554c3126ea5f97434Tim Northoverusing namespace llvm;
1772062f5744557e270a38192554c3126ea5f97434Tim Northover
1872062f5744557e270a38192554c3126ea5f97434Tim NorthoverAArch64ELFMCAsmInfo::AArch64ELFMCAsmInfo() {
1972062f5744557e270a38192554c3126ea5f97434Tim Northover  PointerSize = 8;
2072062f5744557e270a38192554c3126ea5f97434Tim Northover
2172062f5744557e270a38192554c3126ea5f97434Tim Northover  // ".comm align is in bytes but .align is pow-2."
2272062f5744557e270a38192554c3126ea5f97434Tim Northover  AlignmentIsInBytes = false;
2372062f5744557e270a38192554c3126ea5f97434Tim Northover
2472062f5744557e270a38192554c3126ea5f97434Tim Northover  CommentString = "//";
2572062f5744557e270a38192554c3126ea5f97434Tim Northover  PrivateGlobalPrefix = ".L";
2672062f5744557e270a38192554c3126ea5f97434Tim Northover  Code32Directive = ".code\t32";
2772062f5744557e270a38192554c3126ea5f97434Tim Northover
2872062f5744557e270a38192554c3126ea5f97434Tim Northover  Data16bitsDirective = "\t.hword\t";
2972062f5744557e270a38192554c3126ea5f97434Tim Northover  Data32bitsDirective = "\t.word\t";
3072062f5744557e270a38192554c3126ea5f97434Tim Northover  Data64bitsDirective = "\t.xword\t";
3172062f5744557e270a38192554c3126ea5f97434Tim Northover
3272062f5744557e270a38192554c3126ea5f97434Tim Northover  UseDataRegionDirectives = true;
3372062f5744557e270a38192554c3126ea5f97434Tim Northover
3472062f5744557e270a38192554c3126ea5f97434Tim Northover  WeakRefDirective = "\t.weak\t";
3572062f5744557e270a38192554c3126ea5f97434Tim Northover
3672062f5744557e270a38192554c3126ea5f97434Tim Northover  HasLEB128 = true;
3772062f5744557e270a38192554c3126ea5f97434Tim Northover  SupportsDebugInformation = true;
3872062f5744557e270a38192554c3126ea5f97434Tim Northover
3972062f5744557e270a38192554c3126ea5f97434Tim Northover  // Exceptions handling
4072062f5744557e270a38192554c3126ea5f97434Tim Northover  ExceptionsType = ExceptionHandling::DwarfCFI;
4172062f5744557e270a38192554c3126ea5f97434Tim Northover}
42