14#ifndef LLVM_LIB_TARGET_AARCH64_MCTARGETDESC_AARCH64MCEXPR_H
15#define LLVM_LIB_TARGET_AARCH64_MCTARGETDESC_AARCH64MCEXPR_H
125 : Expr(Expr), Kind(Kind) {}
187 Discriminator(Discriminator), Key(Key) {}
192 bool HasAddressDiversity,
MCContext &Ctx);
208 return isa<AArch64MCExpr>(
E) &&
classof(cast<AArch64MCExpr>(
E));
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
PowerPC TLS Dynamic Call Fixup
bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm, const MCFixup *Fixup) const override
bool hasAddressDiversity() const
static const AArch64AuthMCExpr * create(const MCExpr *Expr, uint16_t Discriminator, AArch64PACKey::ID Key, bool HasAddressDiversity, MCContext &Ctx)
static bool classof(const AArch64MCExpr *E)
void visitUsedExpr(MCStreamer &Streamer) const override
uint16_t getDiscriminator() const
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override
AArch64PACKey::ID getKey() const
static bool classof(const MCExpr *E)
MCFragment * findAssociatedFragment() const override
static VariantKind getSymbolLoc(VariantKind Kind)
void fixELFSymbolsInTLSFixups(MCAssembler &Asm) const override
AArch64MCExpr(const MCExpr *Expr, VariantKind Kind)
bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm, const MCFixup *Fixup) const override
MCFragment * findAssociatedFragment() const override
StringRef getVariantKindName() const
Convert the variant kind into an ELF-appropriate modifier (e.g.
void visitUsedExpr(MCStreamer &Streamer) const override
static bool isNotChecked(VariantKind Kind)
static VariantKind getAddressFrag(VariantKind Kind)
static const AArch64MCExpr * create(const MCExpr *Expr, VariantKind Kind, MCContext &Ctx)
static bool classof(const MCExpr *E)
const MCExpr * getSubExpr() const
Get the expression this modifier applies to.
VariantKind getKind() const
Get the kind of this expression.
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override
This class is intended to be used as a base class for asm properties and features specific to the tar...
Context object for machine code objects.
Base class for the full range of assembler expressions which are needed for parsing.
@ Target
Target specific expression.
Encode information on a single operation to perform on a byte sequence (e.g., an encoded instruction)...
Streaming machine code generation interface.
This is an extension point for target-specific MCExpr subclasses to implement.
This represents an "assembler immediate".
StringRef - Represent a constant reference to a string, i.e.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.