|
LLVM 22.0.0git
|
#include "Target/Hexagon/MCTargetDesc/HexagonMCExpr.h"
Public Types | |
| enum | VariantKind : uint8_t { VK_None , VK_DTPREL = MCSymbolRefExpr::FirstTargetSpecifier , VK_GD_GOT , VK_GD_PLT , VK_GOT , VK_GOTREL , VK_IE , VK_IE_GOT , VK_LD_GOT , VK_LD_PLT , VK_PCREL , VK_PLT , VK_TPREL , VK_LO16 , VK_HI16 , VK_GPREL } |
| 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 |
| MCExpr const * | getExpr () const |
| void | setMustExtend (bool Val=true) |
| bool | mustExtend () const |
| void | setMustNotExtend (bool Val=true) |
| bool | mustNotExtend () const |
| void | setS27_2_reloc (bool Val=true) |
| bool | s27_2_reloc () const |
| void | setSignMismatch (bool Val=true) |
| bool | signMismatch () const |
| 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 HexagonMCExpr * | create (MCExpr const *Expr, 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 15 of file HexagonMCExpr.h.
| Enumerator | |
|---|---|
| VK_None | |
| VK_DTPREL | |
| VK_GD_GOT | |
| VK_GD_PLT | |
| VK_GOT | |
| VK_GOTREL | |
| VK_IE | |
| VK_IE_GOT | |
| VK_LD_GOT | |
| VK_LD_PLT | |
| VK_PCREL | |
| VK_PLT | |
| VK_TPREL | |
| VK_LO16 | |
| VK_HI16 | |
| VK_GPREL | |
Definition at line 17 of file HexagonMCExpr.h.
|
static |
Definition at line 21 of file HexagonMCExpr.cpp.
Referenced by llvm::HexagonAsmPrinter::EmitSled(), GetSymbolRef(), llvm::HexagonLowerToMC(), llvm::HexagonAsmPrinter::HexagonProcessInstruction(), and ScaleVectorOffset().
|
overridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 25 of file HexagonMCExpr.cpp.
|
overridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 34 of file HexagonMCExpr.cpp.
Definition at line 38 of file HexagonMCExpr.cpp.
| bool HexagonMCExpr::mustExtend | ( | ) | const |
Definition at line 45 of file HexagonMCExpr.cpp.
Referenced by llvm::HexagonMCInstrInfo::mustExtend().
| bool HexagonMCExpr::mustNotExtend | ( | ) | const |
Definition at line 50 of file HexagonMCExpr.cpp.
Referenced by llvm::HexagonMCInstrInfo::mustNotExtend().
|
overridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 61 of file HexagonMCExpr.cpp.
References llvm::MCAsmInfo::printExpr().
| bool HexagonMCExpr::s27_2_reloc | ( | ) | const |
Definition at line 52 of file HexagonMCExpr.cpp.
Referenced by llvm::HexagonMCInstrInfo::s27_2_reloc().
| void HexagonMCExpr::setMustExtend | ( | bool | Val = true | ) |
Definition at line 40 of file HexagonMCExpr.cpp.
References assert().
Referenced by llvm::HexagonMCInstrInfo::setMustExtend().
| void HexagonMCExpr::setMustNotExtend | ( | bool | Val = true | ) |
Definition at line 46 of file HexagonMCExpr.cpp.
References assert().
Referenced by llvm::HexagonMCInstrInfo::setMustNotExtend().
| void HexagonMCExpr::setS27_2_reloc | ( | bool | Val = true | ) |
Definition at line 53 of file HexagonMCExpr.cpp.
Referenced by llvm::HexagonMCInstrInfo::setS27_2_reloc().
| void HexagonMCExpr::setSignMismatch | ( | bool | Val = true | ) |
Definition at line 65 of file HexagonMCExpr.cpp.
| bool HexagonMCExpr::signMismatch | ( | ) | const |
Definition at line 69 of file HexagonMCExpr.cpp.
|
overridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 30 of file HexagonMCExpr.cpp.
References llvm::MCStreamer::visitUsedExpr().