31 cl::desc(
"Choose style of NEON code to emit from AArch64 backend:"),
178 MCSymbol *PCSym = Context.createTempSymbol();
186 if (WrapSubExprInParens)
189 if (WrapSubExprInParens)
201 return AE->print(OS,
this);
251 return AE->print(OS,
this);
254 if (!Str.empty() && Str[0] ==
'%')
257 if (!Str.empty() && Str[0] ==
'%')
constexpr auto COFFAtSpecifiers
constexpr EnumStringDef< MCAsmInfo::AtSpecifierKind > COFFAtSpecifierDefs[]
constexpr EnumStringDef< MCAsmInfo::AtSpecifierKind > ELFAtSpecifierDefs[]
constexpr auto ELFAtSpecifiers
static bool evaluate(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm)
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")))
constexpr auto MachOAtSpecifiers
constexpr EnumStringDef< MCAsmInfo::AtSpecifierKind > MachOAtSpecifierDefs[]
#define clEnumValN(ENUMVAL, FLAGNAME, DESC)
#define BUILD_ENUM_STRINGS(Tab)
void print(raw_ostream &OS, const MCAsmInfo *MAI) const
bool hasAddressDiversity() const
MCAsmInfoDarwin(const MCTargetOptions &Options)
MCAsmInfoELF(const MCTargetOptions &Options)
MCAsmInfoGNUCOFF(const MCTargetOptions &Options)
MCAsmInfoMicrosoft(const MCTargetOptions &Options)
This class is intended to be used as a base class for asm properties and features specific to the tar...
StringRef InternalSymbolPrefix
For internal use by compiler and assembler, not meant to be visible externally.
const char * Data16bitsDirective
bool UseAtForSpecifier
True if target uses @ (expr@specifier) for relocation specifiers.
const char * Data64bitsDirective
ExceptionHandling ExceptionsType
Exception handling format for the target. Defaults to None.
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.
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 ...
void initializeAtSpecifiers(EnumStrings< AtSpecifierKind, 1 >)
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
Represent a constant reference to a string, i.e.
A switch()-like statement whose cases are string literals.
StringSwitch & Case(StringLiteral S, T Value)
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.
Specifier parsePercentSpecifierName(StringRef)
StringRef getSpecifierName(Specifier S)
Return the string representation of the ELF relocation specifier (e.g.
@ 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<X> - 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<X> - Return true if the parameter to the template is an instance of one of the template type argu...
static StringRef AArch64PACKeyIDToString(AArch64PACKey::ID KeyID)
Return 2-letter identifier string for numeric key ID.
@ Default
The result value is uniform if and only if all operands are uniform.
bool evaluateAsRelocatableImpl(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm) const override
const MCExpr * getExprForPersonalitySymbol(const MCSymbol *Sym, unsigned Encoding, MCStreamer &Streamer) const override
AArch64MCAsmInfoDarwin(bool IsILP32, const MCTargetOptions &Options)
void printSpecifierExpr(raw_ostream &OS, const MCSpecifierExpr &Expr) const override
void printSpecifierExpr(raw_ostream &OS, const MCSpecifierExpr &Expr) const override
bool evaluateAsRelocatableImpl(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm) const override
AArch64MCAsmInfoELF(const Triple &T, const MCTargetOptions &Options)
bool evaluateAsRelocatableImpl(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm) const override
AArch64MCAsmInfoGNUCOFF(const MCTargetOptions &Options)
void printSpecifierExpr(raw_ostream &OS, const MCSpecifierExpr &Expr) const override
AArch64MCAsmInfoMicrosoftCOFF(const MCTargetOptions &Options)
bool evaluateAsRelocatableImpl(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm) const override
void printSpecifierExpr(raw_ostream &OS, const MCSpecifierExpr &Expr) const override
Compile-time data representation of enum entries.