LLVM  3.7.0
WebAssemblyMCAsmInfo.cpp
Go to the documentation of this file.
1 //===-- WebAssemblyMCAsmInfo.cpp - WebAssembly 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 /// \file
11 /// \brief This file contains the declarations of the WebAssemblyMCAsmInfo
12 /// properties.
13 ///
14 //===----------------------------------------------------------------------===//
15 
16 #include "WebAssemblyMCAsmInfo.h"
17 #include "llvm/ADT/Triple.h"
19 using namespace llvm;
20 
21 #define DEBUG_TYPE "wasm-mc-asm-info"
22 
24 
27 
28  // TODO: What should MaxInstLength be?
29 
31  PrivateLabelPrefix = "";
32 
34 
35  Data8bitsDirective = "\t.int8\t";
36  Data16bitsDirective = "\t.int16\t";
37  Data32bitsDirective = "\t.int32\t";
38  Data64bitsDirective = "\t.int64\t";
39 
40  AlignmentIsInBytes = false;
43 
46 
48 
49  // For now, WebAssembly does not support exceptions.
51 
52  // TODO: UseIntegratedAssembler?
53 }
bool HasSingleParameterDotFile
True if the target has a single parameter .file directive, this is true for ELF targets.
Definition: MCAsmInfo.h:273
LCOMM::LCOMMType LCOMMDirectiveAlignmentType
Describes if the .lcomm directive for the target supports an alignment argument and how it is interpr...
Definition: MCAsmInfo.h:261
const char * Data64bitsDirective
Definition: MCAsmInfo.h:191
unsigned CalleeSaveStackSlotSize
Size of the stack slot reserved for callee-saved registers, in bytes.
Definition: MCAsmInfo.h:69
bool HasDotTypeDotSizeDirective
True if the target has .type and .size directives, this is true for most ELF targets.
Definition: MCAsmInfo.h:269
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 * Data8bitsDirective
These directives are used to output some unit of integer data to the current section.
Definition: MCAsmInfo.h:188
bool isArch64Bit() const
Test whether the architecture is 64-bit.
Definition: Triple.cpp:1046
bool COMMDirectiveAlignmentIsInBytes
True is .comm's and .lcomms optional alignment is to be specified in bytes instead of log2(n)...
Definition: MCAsmInfo.h:257
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
Triple - Helper class for working with autoconf configuration names.
Definition: Triple.h:44
const char * Data32bitsDirective
Definition: MCAsmInfo.h:190
This file contains the declaration of the WebAssemblyMCAsmInfo class.
ExceptionHandling ExceptionsType
Exception handling format for the target. Defaults to None.
Definition: MCAsmInfo.h:321
bool UseDataRegionDirectives
This is true if data region markers should be printed as ".data_region/.end_data_region" directives...
Definition: MCAsmInfo.h:165
const char * PrivateLabelPrefix
This prefix is used for labels for basic blocks.
Definition: MCAsmInfo.h:131