LLVM API Documentation
#include <PPCMCExpr.h>
Public Types | |
enum | VariantKind { VK_PPC_None, VK_PPC_LO, VK_PPC_HI, VK_PPC_HA, VK_PPC_HIGHER, VK_PPC_HIGHERA, VK_PPC_HIGHEST, VK_PPC_HIGHESTA } |
Public Member Functions | |
VariantKind | getKind () const |
getOpcode - Get the kind of this expression. | |
const MCExpr * | getSubExpr () const |
getSubExpr - Get the child of this expression. | |
bool | isDarwinSyntax () const |
isDarwinSyntax - True if expression is to be printed using Darwin syntax. | |
void | PrintImpl (raw_ostream &OS) const override |
bool | EvaluateAsRelocatableImpl (MCValue &Res, const MCAsmLayout *Layout, const MCFixup *Fixup) const override |
void | visitUsedExpr (MCStreamer &Streamer) const override |
const MCSection * | FindAssociatedSection () const override |
void | fixELFSymbolsInTLSFixups (MCAssembler &Asm) const override |
bool | EvaluateAsConstant (int64_t &Res) const |
Static Public Member Functions | |
static bool | classof (const MCExpr *E) |
Construction | |
static const PPCMCExpr * | Create (VariantKind Kind, const MCExpr *Expr, bool isDarwin, MCContext &Ctx) |
static const PPCMCExpr * | CreateLo (const MCExpr *Expr, bool isDarwin, MCContext &Ctx) |
static const PPCMCExpr * | CreateHi (const MCExpr *Expr, bool isDarwin, MCContext &Ctx) |
static const PPCMCExpr * | CreateHa (const MCExpr *Expr, bool isDarwin, MCContext &Ctx) |
Definition at line 19 of file PPCMCExpr.h.
VK_PPC_None | |
VK_PPC_LO | |
VK_PPC_HI | |
VK_PPC_HA | |
VK_PPC_HIGHER | |
VK_PPC_HIGHERA | |
VK_PPC_HIGHEST | |
VK_PPC_HIGHESTA |
Definition at line 21 of file PPCMCExpr.h.
static bool llvm::PPCMCExpr::classof | ( | const MCExpr * | E | ) | [inline, static] |
Reimplemented from llvm::MCTargetExpr.
Definition at line 93 of file PPCMCExpr.h.
const PPCMCExpr * PPCMCExpr::Create | ( | VariantKind | Kind, |
const MCExpr * | Expr, | ||
bool | isDarwin, | ||
MCContext & | Ctx | ||
) | [static] |
Definition at line 22 of file PPCMCExpr.cpp.
Referenced by CreateHa(), CreateHi(), CreateLo(), and EvaluateAsRelocatableImpl().
static const PPCMCExpr* llvm::PPCMCExpr::CreateHa | ( | const MCExpr * | Expr, |
bool | isDarwin, | ||
MCContext & | Ctx | ||
) | [inline, static] |
Definition at line 60 of file PPCMCExpr.h.
References Create(), and VK_PPC_HA.
Referenced by GetSymbolRef().
static const PPCMCExpr* llvm::PPCMCExpr::CreateHi | ( | const MCExpr * | Expr, |
bool | isDarwin, | ||
MCContext & | Ctx | ||
) | [inline, static] |
Definition at line 55 of file PPCMCExpr.h.
static const PPCMCExpr* llvm::PPCMCExpr::CreateLo | ( | const MCExpr * | Expr, |
bool | isDarwin, | ||
MCContext & | Ctx | ||
) | [inline, static] |
Definition at line 50 of file PPCMCExpr.h.
References Create(), and VK_PPC_LO.
Referenced by GetSymbolRef().
bool PPCMCExpr::EvaluateAsConstant | ( | int64_t & | Res | ) | const |
Definition at line 56 of file PPCMCExpr.cpp.
References llvm::MCExpr::EvaluateAsRelocatable(), llvm::MCValue::getConstant(), getSubExpr(), and llvm::MCValue::isAbsolute().
bool PPCMCExpr::EvaluateAsRelocatableImpl | ( | MCValue & | Res, |
const MCAsmLayout * | Layout, | ||
const MCFixup * | Fixup | ||
) | const [override, virtual] |
Implements llvm::MCTargetExpr.
Definition at line 93 of file PPCMCExpr.cpp.
References Create(), llvm::MCExpr::EvaluateAsRelocatable(), llvm::PPC::fixup_ppc_half16, llvm::MCValue::get(), llvm::MCAsmLayout::getAssembler(), llvm::MCValue::getConstant(), llvm::MCAssembler::getContext(), llvm::MCFixup::getKind(), llvm::MCSymbolRefExpr::getKind(), getSubExpr(), llvm::MCValue::getSymA(), llvm::MCValue::getSymB(), llvm::MCSymbolRefExpr::getSymbol(), llvm::MCValue::isAbsolute(), llvm_unreachable, llvm::MCSymbolRefExpr::VK_None, VK_PPC_HA, VK_PPC_HI, VK_PPC_HIGHER, VK_PPC_HIGHERA, VK_PPC_HIGHEST, VK_PPC_HIGHESTA, and VK_PPC_LO.
const MCSection* llvm::PPCMCExpr::FindAssociatedSection | ( | ) | const [inline, override, virtual] |
FindAssociatedSection - 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.
Implements llvm::MCTargetExpr.
Definition at line 84 of file PPCMCExpr.h.
void llvm::PPCMCExpr::fixELFSymbolsInTLSFixups | ( | MCAssembler & | Asm | ) | const [inline, override, virtual] |
Implements llvm::MCTargetExpr.
Definition at line 89 of file PPCMCExpr.h.
VariantKind llvm::PPCMCExpr::getKind | ( | ) | const [inline] |
getOpcode - Get the kind of this expression.
Reimplemented from llvm::MCExpr.
Definition at line 68 of file PPCMCExpr.h.
const MCExpr* llvm::PPCMCExpr::getSubExpr | ( | ) | const [inline] |
getSubExpr - Get the child of this expression.
Definition at line 71 of file PPCMCExpr.h.
Referenced by EvaluateAsConstant(), EvaluateAsRelocatableImpl(), PrintImpl(), and visitUsedExpr().
bool llvm::PPCMCExpr::isDarwinSyntax | ( | ) | const [inline] |
isDarwinSyntax - True if expression is to be printed using Darwin syntax.
Definition at line 74 of file PPCMCExpr.h.
Referenced by PrintImpl().
void PPCMCExpr::PrintImpl | ( | raw_ostream & | OS | ) | const [override, virtual] |
Implements llvm::MCTargetExpr.
Definition at line 27 of file PPCMCExpr.cpp.
References getSubExpr(), isDarwinSyntax(), llvm_unreachable, llvm::MCExpr::print(), VK_PPC_HA, VK_PPC_HI, VK_PPC_HIGHER, VK_PPC_HIGHERA, VK_PPC_HIGHEST, VK_PPC_HIGHESTA, and VK_PPC_LO.
void PPCMCExpr::visitUsedExpr | ( | MCStreamer & | Streamer | ) | const [override, virtual] |
Implements llvm::MCTargetExpr.
Definition at line 148 of file PPCMCExpr.cpp.
References getSubExpr(), and llvm::MCStreamer::visitUsedExpr().