LLVM  3.7.0
MipsMCAsmInfo.cpp
Go to the documentation of this file.
1 //===-- MipsMCAsmInfo.cpp - Mips 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 MipsMCAsmInfo properties.
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #include "MipsMCAsmInfo.h"
15 #include "llvm/ADT/Triple.h"
16 
17 using namespace llvm;
18 
19 void MipsMCAsmInfo::anchor() { }
20 
22  if ((TheTriple.getArch() == Triple::mips) ||
23  (TheTriple.getArch() == Triple::mips64))
24  IsLittleEndian = false;
25 
26  if ((TheTriple.getArch() == Triple::mips64el) ||
27  (TheTriple.getArch() == Triple::mips64)) {
29  }
30 
31  AlignmentIsInBytes = false;
32  Data16bitsDirective = "\t.2byte\t";
33  Data32bitsDirective = "\t.4byte\t";
34  Data64bitsDirective = "\t.8byte\t";
35  PrivateGlobalPrefix = "$";
36  PrivateLabelPrefix = "$";
37  CommentString = "#";
38  ZeroDirective = "\t.space\t";
39  GPRel32Directive = "\t.gpword\t";
40  GPRel64Directive = "\t.gpdword\t";
44  DwarfRegNumForCFI = true;
45 }
bool DwarfRegNumForCFI
True if dwarf register numbers are printed instead of symbolic register names in .cfi_* directives.
Definition: MCAsmInfo.h:336
const char * Data64bitsDirective
Definition: MCAsmInfo.h:191
const char * ZeroDirective
This should be set to the directive used to get some number of zero bytes emitted to the current sect...
Definition: MCAsmInfo.h:173
bool IsLittleEndian
True if target is little endian. Default is true.
Definition: MCAsmInfo.h:72
unsigned CalleeSaveStackSlotSize
Size of the stack slot reserved for callee-saved registers, in bytes.
Definition: MCAsmInfo.h:69
bool AlignmentIsInBytes
If this is true (the default) then the asmprinter emits ".align N" directives, where N is the number ...
Definition: MCAsmInfo.h:221
const char * PrivateGlobalPrefix
This prefix is used for globals like constant pool entries that are completely private to the ...
Definition: MCAsmInfo.h:127
const char * CommentString
This indicates the comment character used by the assembler.
Definition: MCAsmInfo.h:113
ArchType getArch() const
getArch - Get the parsed architecture type of this triple.
Definition: Triple.h:242
const char * GPRel64Directive
If non-null, a directive that is used to emit a word which should be relocated as a 64-bit GP-relativ...
Definition: MCAsmInfo.h:196
unsigned PointerSize
Pointer size in bytes. Default is 4.
Definition: MCAsmInfo.h:65
bool SupportsDebugInformation
True if target supports emission of debugging information.
Definition: MCAsmInfo.h:318
const char * Data16bitsDirective
Definition: MCAsmInfo.h:189
bool UseAssignmentForEHBegin
Definition: MCAsmInfo.h:119
Triple - Helper class for working with autoconf configuration names.
Definition: Triple.h:44
const char * Data32bitsDirective
Definition: MCAsmInfo.h:190
const char * GPRel32Directive
If non-null, a directive that is used to emit a word which should be relocated as a 32-bit GP-relativ...
Definition: MCAsmInfo.h:201
ExceptionHandling ExceptionsType
Exception handling format for the target. Defaults to None.
Definition: MCAsmInfo.h:321
MipsMCAsmInfo(const Triple &TheTriple)
No exception support.
const char * PrivateLabelPrefix
This prefix is used for labels for basic blocks.
Definition: MCAsmInfo.h:131