|
LLVM 22.0.0git
|
#include "Target/NVPTX/NVPTXMCExpr.h"
Public Types | |
| enum | VariantKind { VK_NVPTX_None , VK_NVPTX_BFLOAT_PREC_FLOAT , VK_NVPTX_HALF_PREC_FLOAT , VK_NVPTX_SINGLE_PREC_FLOAT , VK_NVPTX_DOUBLE_PREC_FLOAT } |
| Public Types inherited from llvm::MCExpr | |
| enum | ExprKind : uint8_t { Binary , Constant , SymbolRef , Unary , Specifier , Target } |
Public Member Functions | |
| void | printImpl (raw_ostream &OS, const MCAsmInfo *MAI) const override |
| bool | evaluateAsRelocatableImpl (MCValue &Res, const MCAssembler *Asm) const override |
| void | visitUsedExpr (MCStreamer &Streamer) const override |
| MCFragment * | findAssociatedFragment () const override |
Accessors | |
| VariantKind | getKind () const |
| getOpcode - Get the kind of this expression. | |
| APFloat | getAPFloat () const |
| getSubExpr - Get the child of this expression. | |
| Public Member Functions inherited from llvm::MCTargetExpr | |
| virtual bool | isEqualTo (const MCExpr *x) const |
| virtual bool | inlineAssignedExpr () const |
| Public Member Functions inherited from llvm::MCExpr | |
| MCExpr (const MCExpr &)=delete | |
| MCExpr & | operator= (const MCExpr &)=delete |
| ExprKind | getKind () const |
| SMLoc | getLoc () const |
| LLVM_ABI void | dump () const |
| LLVM_ABI bool | evaluateAsAbsolute (int64_t &Res) const |
| Try to evaluate the expression to an absolute value. | |
| LLVM_ABI bool | evaluateAsAbsolute (int64_t &Res, const MCAssembler &Asm) const |
| LLVM_ABI bool | evaluateAsAbsolute (int64_t &Res, const MCAssembler *Asm) const |
| LLVM_ABI bool | evaluateKnownAbsolute (int64_t &Res, const MCAssembler &Asm) const |
| Aggressive variant of evaluateAsRelocatable when relocations are unavailable (e.g. | |
| LLVM_ABI bool | evaluateAsRelocatable (MCValue &Res, const MCAssembler *Asm) const |
| Try to evaluate the expression to a relocatable value, i.e. | |
| LLVM_ABI bool | evaluateAsValue (MCValue &Res, const MCAssembler &Asm) const |
| Try to evaluate the expression to the form (a - b + constant) where neither a nor b are variables. | |
| LLVM_ABI MCFragment * | findAssociatedFragment () const |
| Find the "associated section" for this expression, which is currently defined as the absolute section for constants, or otherwise the section associated with the first defined symbol in the expression. | |
Static Public Member Functions | |
| static bool | classof (const MCExpr *E) |
Construction | |
| static const NVPTXFloatMCExpr * | create (VariantKind Kind, const APFloat &Flt, MCContext &Ctx) |
| static const NVPTXFloatMCExpr * | createConstantBFPHalf (const APFloat &Flt, MCContext &Ctx) |
| static const NVPTXFloatMCExpr * | createConstantFPHalf (const APFloat &Flt, MCContext &Ctx) |
| static const NVPTXFloatMCExpr * | createConstantFPSingle (const APFloat &Flt, MCContext &Ctx) |
| static const NVPTXFloatMCExpr * | createConstantFPDouble (const APFloat &Flt, MCContext &Ctx) |
| Static Public Member Functions inherited from llvm::MCTargetExpr | |
| static bool | classof (const MCExpr *E) |
| Static Public Member Functions inherited from llvm::MCExpr | |
| static LLVM_ABI bool | evaluateSymbolicAdd (const MCAssembler *, bool, const MCValue &, const MCValue &, MCValue &) |
Additional Inherited Members | |
| Protected Types inherited from llvm::MCExpr | |
| using | Spec = uint16_t |
| Protected Member Functions inherited from llvm::MCTargetExpr | |
| MCTargetExpr () | |
| virtual | ~MCTargetExpr ()=default |
| Protected Member Functions inherited from llvm::MCExpr | |
| MCExpr (ExprKind Kind, SMLoc Loc, unsigned SubclassData=0) | |
| LLVM_ABI bool | evaluateAsRelocatableImpl (MCValue &Res, const MCAssembler *Asm, bool InSet) const |
| unsigned | getSubclassData () const |
Definition at line 20 of file NVPTXMCExpr.h.
| Enumerator | |
|---|---|
| VK_NVPTX_None | |
| VK_NVPTX_BFLOAT_PREC_FLOAT | |
| VK_NVPTX_HALF_PREC_FLOAT | |
| VK_NVPTX_SINGLE_PREC_FLOAT | |
| VK_NVPTX_DOUBLE_PREC_FLOAT | |
Definition at line 22 of file NVPTXMCExpr.h.
Definition at line 84 of file NVPTXMCExpr.h.
References E(), and llvm::MCExpr::Target.
|
static |
Definition at line 20 of file NVPTXMCExpr.cpp.
Referenced by createConstantBFPHalf(), createConstantFPDouble(), createConstantFPHalf(), and createConstantFPSingle().
|
inlinestatic |
Definition at line 44 of file NVPTXMCExpr.h.
References create(), and VK_NVPTX_BFLOAT_PREC_FLOAT.
|
inlinestatic |
Definition at line 59 of file NVPTXMCExpr.h.
References create(), and VK_NVPTX_DOUBLE_PREC_FLOAT.
|
inlinestatic |
Definition at line 49 of file NVPTXMCExpr.h.
References create(), and VK_NVPTX_HALF_PREC_FLOAT.
|
inlinestatic |
Definition at line 54 of file NVPTXMCExpr.h.
References create(), and VK_NVPTX_SINGLE_PREC_FLOAT.
|
inlineoverridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 77 of file NVPTXMCExpr.h.
|
inlineoverridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 82 of file NVPTXMCExpr.h.
|
inline |
getSubExpr - Get the child of this expression.
Definition at line 72 of file NVPTXMCExpr.h.
Referenced by printImpl().
|
inline |
getOpcode - Get the kind of this expression.
Definition at line 69 of file NVPTXMCExpr.h.
|
overridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 24 of file NVPTXMCExpr.cpp.
References llvm::APFloatBase::BFloat(), llvm::APFloat::bitcastToAPInt(), llvm::APFloat::convert(), llvm::format_hex_no_prefix(), getAPFloat(), llvm::APInt::getZExtValue(), llvm::APFloatBase::IEEEdouble(), llvm::APFloatBase::IEEEhalf(), llvm::APFloatBase::IEEEsingle(), llvm_unreachable, llvm::APFloatBase::rmNearestTiesToEven, VK_NVPTX_BFLOAT_PREC_FLOAT, VK_NVPTX_DOUBLE_PREC_FLOAT, VK_NVPTX_HALF_PREC_FLOAT, and VK_NVPTX_SINGLE_PREC_FLOAT.
|
inlineoverridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 81 of file NVPTXMCExpr.h.