LLVM
8.0.1
|
#include "Target/Hexagon/MCTargetDesc/HexagonMCExpr.h"
Public Member Functions | |
void | printImpl (raw_ostream &OS, const MCAsmInfo *MAI) const override |
bool | evaluateAsRelocatableImpl (MCValue &Res, const MCAsmLayout *Layout, const MCFixup *Fixup) const override |
void | visitUsedExpr (MCStreamer &Streamer) const override |
MCFragment * | findAssociatedFragment () const override |
void | fixELFSymbolsInTLSFixups (MCAssembler &Asm) 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 |
void | print (raw_ostream &OS, const MCAsmInfo *MAI, bool InParens=false) const |
void | dump () const |
bool | evaluateAsAbsolute (int64_t &Res, const MCAsmLayout &Layout, const SectionAddrMap &Addrs) const |
Try to evaluate the expression to an absolute value. More... | |
bool | evaluateAsAbsolute (int64_t &Res) const |
bool | evaluateAsAbsolute (int64_t &Res, const MCAssembler &Asm) const |
bool | evaluateAsAbsolute (int64_t &Res, const MCAssembler *Asm) const |
bool | evaluateAsAbsolute (int64_t &Res, const MCAsmLayout &Layout) const |
bool | evaluateKnownAbsolute (int64_t &Res, const MCAsmLayout &Layout) const |
bool | evaluateAsRelocatable (MCValue &Res, const MCAsmLayout *Layout, const MCFixup *Fixup) const |
Try to evaluate the expression to a relocatable value, i.e. More... | |
bool | evaluateAsValue (MCValue &Res, const MCAsmLayout &Layout) const |
Try to evaluate the expression to the form (a - b + constant) where neither a nor b are variables. More... | |
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. More... | |
Static Public Member Functions | |
static HexagonMCExpr * | create (MCExpr const *Expr, MCContext &Ctx) |
static bool | classof (MCExpr const *E) |
Static Public Member Functions inherited from llvm::MCTargetExpr | |
static bool | classof (const MCExpr *E) |
Additional Inherited Members | |
Public Types inherited from llvm::MCExpr | |
enum | ExprKind { Binary, Constant, SymbolRef, Unary, Target } |
Protected Member Functions inherited from llvm::MCTargetExpr | |
MCTargetExpr () | |
virtual | ~MCTargetExpr ()=default |
Protected Member Functions inherited from llvm::MCExpr | |
MCExpr (ExprKind Kind, SMLoc Loc) | |
bool | evaluateAsRelocatableImpl (MCValue &Res, const MCAssembler *Asm, const MCAsmLayout *Layout, const MCFixup *Fixup, const SectionAddrMap *Addrs, bool InSet) const |
Definition at line 17 of file HexagonMCExpr.h.
Definition at line 102 of file HexagonMCExpr.cpp.
References llvm::MCExpr::getKind(), and llvm::MCExpr::Target.
|
static |
Definition at line 23 of file HexagonMCExpr.cpp.
Referenced by GetSymbolRef(), llvm::HexagonLowerToMC(), llvm::HexagonAsmPrinter::HexagonProcessInstruction(), makeCombineInst(), and ScaleVectorOffset().
|
overridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 27 of file HexagonMCExpr.cpp.
References llvm::MCExpr::evaluateAsRelocatable().
|
overridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 37 of file HexagonMCExpr.cpp.
References llvm::MCExpr::findAssociatedFragment().
|
overridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 78 of file HexagonMCExpr.cpp.
References fixELFSymbolsInTLSFixupsImpl(), and getExpr().
Definition at line 83 of file HexagonMCExpr.cpp.
Referenced by fixELFSymbolsInTLSFixups().
bool HexagonMCExpr::mustExtend | ( | ) | const |
Definition at line 90 of file HexagonMCExpr.cpp.
Referenced by llvm::HexagonMCInstrInfo::mustExtend().
bool HexagonMCExpr::mustNotExtend | ( | ) | const |
Definition at line 95 of file HexagonMCExpr.cpp.
Referenced by llvm::HexagonMCInstrInfo::mustNotExtend().
|
overridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 110 of file HexagonMCExpr.cpp.
References llvm::MCExpr::print().
bool HexagonMCExpr::s27_2_reloc | ( | ) | const |
Definition at line 97 of file HexagonMCExpr.cpp.
Referenced by llvm::HexagonMCInstrInfo::s27_2_reloc().
Definition at line 85 of file HexagonMCExpr.cpp.
References assert().
Referenced by llvm::HexagonMCInstrInfo::setMustExtend().
Definition at line 91 of file HexagonMCExpr.cpp.
References assert().
Referenced by llvm::HexagonMCInstrInfo::setMustNotExtend().
Definition at line 98 of file HexagonMCExpr.cpp.
Referenced by llvm::HexagonMCInstrInfo::setS27_2_reloc().
Definition at line 114 of file HexagonMCExpr.cpp.
bool HexagonMCExpr::signMismatch | ( | ) | const |
Definition at line 118 of file HexagonMCExpr.cpp.
|
overridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 33 of file HexagonMCExpr.cpp.
References llvm::MCStreamer::visitUsedExpr().