LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PPCMCAsmInfo.cpp
Go to the documentation of this file.
1 //===-- PPCMCAsmInfo.cpp - PPC 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 MCAsmInfoDarwin properties.
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #include "PPCMCAsmInfo.h"
15 using namespace llvm;
16 
17 void PPCMCAsmInfoDarwin::anchor() { }
18 
20  if (is64Bit) {
22  }
23  IsLittleEndian = false;
24 
25  CommentString = ";";
27 
28  if (!is64Bit)
29  Data64bitsDirective = 0; // We can't emit a 64-bit unit in PPC32 mode.
30 
31  AssemblerDialect = 1; // New-Style mnemonics.
32  SupportsDebugInformation= true; // Debug information.
33 }
34 
35 void PPCLinuxMCAsmInfo::anchor() { }
36 
38  if (is64Bit) {
40  }
41  IsLittleEndian = false;
42 
43  // ".comm align is in bytes but .align is pow-2."
44  AlignmentIsInBytes = false;
45 
46  CommentString = "#";
47  GlobalPrefix = "";
48  PrivateGlobalPrefix = ".L";
49 
50  // Uses '.section' before '.bss' directive
52 
53  // Debug Information
55 
56  DollarIsPC = true;
57 
58  // Set up DWARF directives
59  HasLEB128 = true; // Target asm supports leb128 directives (little-endian)
60  MinInstAlignment = 4;
61 
62  // Exceptions handling
64 
65  ZeroDirective = "\t.space\t";
66  Data64bitsDirective = is64Bit ? "\t.quad\t" : 0;
67  AssemblerDialect = 1; // New-Style mnemonics.
68 }
69 
const char * GlobalPrefix
Definition: MCAsmInfo.h:120
const char * Data64bitsDirective
Definition: MCAsmInfo.h:179
const char * ZeroDirective
Definition: MCAsmInfo.h:162
bool IsLittleEndian
Definition: MCAsmInfo.h:59
unsigned CalleeSaveStackSlotSize
Definition: MCAsmInfo.h:55
unsigned AssemblerDialect
AssemblerDialect - Which dialect of an assembler variant to use.
Definition: MCAsmInfo.h:145
ExceptionHandling::ExceptionsType ExceptionsType
SupportsExceptionHandling - True if target supports exception handling.
Definition: MCAsmInfo.h:300
bool AlignmentIsInBytes
Definition: MCAsmInfo.h:219
const char * PrivateGlobalPrefix
Definition: MCAsmInfo.h:125
bool UsesELFSectionDirectiveForBSS
Definition: MCAsmInfo.h:199
const char * CommentString
Definition: MCAsmInfo.h:110
unsigned PointerSize
Definition: MCAsmInfo.h:50
bool SupportsDebugInformation
Definition: MCAsmInfo.h:297
bool HasLEB128
HasLEB128 - True if target asm supports leb128 directives.
Definition: MCAsmInfo.h:293
unsigned MinInstAlignment
Definition: MCAsmInfo.h:94
PPCMCAsmInfoDarwin(bool is64Bit)
PPCLinuxMCAsmInfo(bool is64Bit)