1 //===-- Nios2MCAsmInfo.cpp - Nios2 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 Nios2MCAsmInfo properties. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #include "Nios2MCAsmInfo.h" 15 16 #include "llvm/ADT/Triple.h" 17 18 using namespace llvm; 19 anchor()20void Nios2MCAsmInfo::anchor() {} 21 Nios2MCAsmInfo(const Triple & TheTriple)22Nios2MCAsmInfo::Nios2MCAsmInfo(const Triple &TheTriple) { 23 if ((TheTriple.getArch() == Triple::nios2)) 24 IsLittleEndian = true; // the default of IsLittleEndian is true 25 26 AlignmentIsInBytes = false; 27 Data16bitsDirective = "\t.2byte\t"; 28 Data32bitsDirective = "\t.4byte\t"; 29 Data64bitsDirective = "\t.8byte\t"; 30 PrivateLabelPrefix = ".LC"; 31 CommentString = "#"; 32 ZeroDirective = "\t.space\t"; 33 GPRel32Directive = "\t.gpword\t"; 34 GPRel64Directive = "\t.gpdword\t"; 35 WeakRefDirective = "\t.weak\t"; 36 GlobalDirective = "\t.global\t"; 37 AscizDirective = "\t.string\t"; 38 UseAssignmentForEHBegin = true; 39 40 SupportsDebugInformation = true; 41 ExceptionsType = ExceptionHandling::DwarfCFI; 42 DwarfRegNumForCFI = true; 43 UsesELFSectionDirectiveForBSS = true; 44 } 45