11#ifndef LLVM_LIB_TARGET_NVPTX_NVPTXMCEXPR_H
12#define LLVM_LIB_TARGET_NVPTX_NVPTXMCEXPR_H
99 : SymExpr(_SymExpr) {}
This file declares a class to represent arbitrary precision floating point values and provide a varie...
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
PowerPC TLS Dynamic Call Fixup
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.
Represent a reference to a symbol from inside an expression.
This is an extension point for target-specific MCExpr subclasses to implement.
This represents an "assembler immediate".
static const NVPTXFloatMCExpr * createConstantBFPHalf(const APFloat &Flt, MCContext &Ctx)
static const NVPTXFloatMCExpr * createConstantFPHalf(const APFloat &Flt, MCContext &Ctx)
@ VK_NVPTX_HALF_PREC_FLOAT
@ VK_NVPTX_BFLOAT_PREC_FLOAT
@ VK_NVPTX_DOUBLE_PREC_FLOAT
@ VK_NVPTX_SINGLE_PREC_FLOAT
APFloat getAPFloat() const
getSubExpr - Get the child of this expression.
VariantKind getKind() const
getOpcode - Get the kind of this expression.
void visitUsedExpr(MCStreamer &Streamer) const override
static const NVPTXFloatMCExpr * createConstantFPSingle(const APFloat &Flt, MCContext &Ctx)
static const NVPTXFloatMCExpr * create(VariantKind Kind, const APFloat &Flt, MCContext &Ctx)
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override
void fixELFSymbolsInTLSFixups(MCAssembler &Asm) const override
static const NVPTXFloatMCExpr * createConstantFPDouble(const APFloat &Flt, MCContext &Ctx)
bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm, const MCFixup *Fixup) const override
static bool classof(const MCExpr *E)
MCFragment * findAssociatedFragment() const override
A wrapper for MCSymbolRefExpr that tells the assembly printer that the symbol should be enclosed by g...
static const NVPTXGenericMCSymbolRefExpr * create(const MCSymbolRefExpr *SymExpr, MCContext &Ctx)
void visitUsedExpr(MCStreamer &Streamer) const override
MCFragment * findAssociatedFragment() const override
const MCSymbolRefExpr * getSymbolExpr() const
getOpcode - Get the kind of this expression.
bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm, const MCFixup *Fixup) const override
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override
void fixELFSymbolsInTLSFixups(MCAssembler &Asm) const override
static bool classof(const MCExpr *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.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.