LLVM: lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
20using namespace llvm;
21
27
30 cl::desc("Choose style of NEON code to emit from AArch64 backend:"),
32 clEnumValN(Apple, "apple", "Emit Apple-style NEON assembly")));
33
38
45
56
58
59 switch (static_cast<uint32_t>(S)) {
117 default:
119 }
120
121}
122
130
132
133
135
142
148
150
152}
153
155 const MCSymbol *Sym, unsigned Encoding, MCStreamer &Streamer) const {
156
157
158
159
163 MCSymbol *PCSym = Context.createTempSymbol();
167}
168
171 if (WrapSubExprInParens)
172 OS << '(';
174 if (WrapSubExprInParens)
175 OS << ')';
176
179 OS << ",addr";
180 OS << ')';
181}
182
186 return AE->print(OS, this);
189}
190
193 return evaluate(Expr, Res, Asm);
194}
195
199
200
201
203
205
206
208
212
216
219
221
223
224
226
228
230}
231
235 return AE->print(OS, this);
238}
239
242 return evaluate(Expr, Res, Asm);
243}
244
263
269
272 return evaluate(Expr, Res, Asm);
273}
274
293
299
302 return evaluate(Expr, Res, Asm);
303}
const MCAsmInfo::AtSpecifier ELFAtSpecifiers[]
Definition AArch64MCAsmInfo.cpp:39
const MCAsmInfo::AtSpecifier COFFAtSpecifiers[]
Definition AArch64MCAsmInfo.cpp:34
static bool evaluate(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm)
Definition AArch64MCAsmInfo.cpp:123
const MCAsmInfo::AtSpecifier MachOAtSpecifiers[]
Definition AArch64MCAsmInfo.cpp:46
static cl::opt< AsmWriterVariantTy > AsmWriterVariant("aarch64-neon-syntax", cl::init(Default), cl::desc("Choose style of NEON code to emit from AArch64 backend:"), cl::values(clEnumValN(Generic, "generic", "Emit generic NEON assembly"), clEnumValN(Apple, "apple", "Emit Apple-style NEON assembly")))
AsmWriterVariantTy
Definition AArch64MCAsmInfo.cpp:22
@ Generic
Definition AArch64MCAsmInfo.cpp:24
@ Apple
Definition AArch64MCAsmInfo.cpp:25
#define clEnumValN(ENUMVAL, FLAGNAME, DESC)
void print(raw_ostream &OS, const MCAsmInfo *MAI) const
Definition AArch64MCAsmInfo.cpp:169
bool hasAddressDiversity() const
This class is intended to be used as a base class for asm properties and features specific to the tar...
const char * Data16bitsDirective
bool UseAtForSpecifier
True if target uses @ (expr@specifier) for relocation specifiers.
void initializeAtSpecifiers(ArrayRef< AtSpecifier >)
const char * Data64bitsDirective
ExceptionHandling ExceptionsType
Exception handling format for the target. Defaults to None.
StringRef PrivateGlobalPrefix
This prefix is used for globals like constant pool entries that are completely private to the ....
const char * Data32bitsDirective
WinEH::EncodingType WinEHEncodingType
Windows exception handling data (.pdata) encoding. Defaults to Invalid.
const char * WeakRefDirective
This directive, if non-null, is used to declare a global as being a weak undefined symbol.
StringRef PrivateLabelPrefix
This prefix is used for labels for basic blocks.
void printExpr(raw_ostream &, const MCExpr &) const
bool UsesELFSectionDirectiveForBSS
This is true if this target uses ELF '.section' directive before the '.bss' one.
bool SupportsDebugInformation
True if target supports emission of debugging information.
unsigned AssemblerDialect
Which dialect of an assembler variant to use. Defaults to 0.
const char * SeparatorString
This string, if specified, is used to separate instructions from each other when on the same line.
bool HasIdentDirective
True if the target has a .ident directive, this is true for ELF targets.
bool AlignmentIsInBytes
If this is true (the default) then the asmprinter emits ".align N" directives, where N is the number ...
bool UseDataRegionDirectives
This is true if data region markers should be printed as ".data_region/.end_data_region" directives.
bool IsLittleEndian
True if target is little endian. Default is true.
unsigned CodePointerSize
Code pointer size in bytes. Default is 4.
unsigned CalleeSaveStackSlotSize
Size of the stack slot reserved for callee-saved registers, in bytes.
StringRef CommentString
This indicates the comment string used by the assembler.
static const MCBinaryExpr * createSub(const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx)
Context object for machine code objects.
Base class for the full range of assembler expressions which are needed for parsing.
LLVM_ABI bool evaluateAsRelocatable(MCValue &Res, const MCAssembler *Asm) const
Try to evaluate the expression to a relocatable value, i.e.
Extension point for target-specific MCExpr subclasses with a relocation specifier,...
const MCExpr * getSubExpr() const
Spec getSpecifier() const
Streaming machine code generation interface.
MCContext & getContext() const
virtual void emitLabel(MCSymbol *Symbol, SMLoc Loc=SMLoc())
Emit a label for Symbol into the current section.
static const MCSymbolRefExpr * create(const MCSymbol *Symbol, MCContext &Ctx, SMLoc Loc=SMLoc())
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
void setSpecifier(uint32_t S)
const MCSymbol * getSubSym() const
StringRef - Represent a constant reference to a string, i.e.
Triple - Helper class for working with autoconf configuration names.
This class implements an extremely fast bulk output stream that can only output to a stream.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
StringRef getSpecifierName(Specifier S)
Return the string representation of the ELF relocation specifier (e.g.
Definition AArch64MCAsmInfo.cpp:57
@ Itanium
Windows CE ARM, PowerPC, SH3, SH4.
ValuesClass values(OptsTy... Options)
Helper to build a ValuesClass by forwarding a variable number of arguments as an initializer list to ...
initializer< Ty > init(const Ty &Val)
This is an optimization pass for GlobalISel generic memory operations.
decltype(auto) dyn_cast(const From &Val)
dyn_cast - Return the argument parameter cast to the specified type.
@ DwarfCFI
DWARF-like instruction based exceptions.
@ WinEH
Windows Exception Handling.
@ Apple
.apple_names, .apple_namespaces, .apple_types, .apple_objc.
bool isa(const From &Val)
isa - Return true if the parameter to the template is an instance of one of the template type argu...
@ Default
The result values are uniform if and only if all operands are uniform.
static StringRef AArch64PACKeyIDToString(AArch64PACKey::ID KeyID)
Return 2-letter identifier string for numeric key ID.
bool evaluateAsRelocatableImpl(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm) const override
Definition AArch64MCAsmInfo.cpp:191
const MCExpr * getExprForPersonalitySymbol(const MCSymbol *Sym, unsigned Encoding, MCStreamer &Streamer) const override
Definition AArch64MCAsmInfo.cpp:154
AArch64MCAsmInfoDarwin(bool IsILP32)
Definition AArch64MCAsmInfo.cpp:131
void printSpecifierExpr(raw_ostream &OS, const MCSpecifierExpr &Expr) const override
Definition AArch64MCAsmInfo.cpp:183
void printSpecifierExpr(raw_ostream &OS, const MCSpecifierExpr &Expr) const override
Definition AArch64MCAsmInfo.cpp:232
bool evaluateAsRelocatableImpl(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm) const override
Definition AArch64MCAsmInfo.cpp:240
AArch64MCAsmInfoELF(const Triple &T)
Definition AArch64MCAsmInfo.cpp:196
bool evaluateAsRelocatableImpl(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm) const override
Definition AArch64MCAsmInfo.cpp:300
AArch64MCAsmInfoGNUCOFF()
Definition AArch64MCAsmInfo.cpp:275
void printSpecifierExpr(raw_ostream &OS, const MCSpecifierExpr &Expr) const override
Definition AArch64MCAsmInfo.cpp:294
AArch64MCAsmInfoMicrosoftCOFF()
Definition AArch64MCAsmInfo.cpp:245
bool evaluateAsRelocatableImpl(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm) const override
Definition AArch64MCAsmInfo.cpp:270
void printSpecifierExpr(raw_ostream &OS, const MCSpecifierExpr &Expr) const override
Definition AArch64MCAsmInfo.cpp:264