10 #define DEBUG_TYPE "ppcmcexpr"
21 return new (Ctx)
PPCMCExpr(Kind, Expr, isDarwin);
66 Result = Result & 0xffff;
69 Result = (Result >> 16) & 0xffff;
72 Result = ((Result + 0x8000) >> 16) & 0xffff;
75 Result = (Result >> 32) & 0xffff;
78 Result = ((Result + 0x8000) >> 32) & 0xffff;
81 Result = (Result >> 48) & 0xffff;
84 Result = ((Result + 0x8000) >> 48) & 0xffff;
const MCSymbol & getSymbol() const
const MCExpr * getSubExpr() const
getSubExpr - Get the child of this expression.
static MCValue get(const MCSymbolRefExpr *SymA, const MCSymbolRefExpr *SymB=0, int64_t Val=0)
MCContext & getContext() const
bool isDarwinSyntax() const
isDarwinSyntax - True if expression is to be printed using Darwin syntax.
#define llvm_unreachable(msg)
bool isAbsolute() const
isAbsolute - Is this an absolute (as opposed to relocatable) value.
static const MCSymbolRefExpr * Create(const MCSymbol *Symbol, MCContext &Ctx)
const MCExpr * getLHS() const
getLHS - Get the left-hand side expression of the binary operator.
static const PPCMCExpr * Create(VariantKind Kind, const MCExpr *Expr, bool isDarwin, MCContext &Ctx)
void PrintImpl(raw_ostream &OS) const
const MCSymbolRefExpr * getSymB() const
bool EvaluateAsRelocatableImpl(MCValue &Res, const MCAsmLayout *Layout) const
MCBinaryExpr - Binary assembler expressions.
bool EvaluateAsRelocatable(MCValue &Res, const MCAsmLayout &Layout) const
MCSymbolData & getOrCreateSymbolData(const MCSymbol &Symbol, bool *Created=0)
const MCSymbolRefExpr * getSymA() const
const MCExpr * getRHS() const
getRHS - Get the right-hand side expression of the binary operator.
void print(raw_ostream &OS) const
References to labels and assigned expressions.
VariantKind getKind() const
int64_t getConstant() const
LLVM Value Representation.
void AddValueSymbols(MCAssembler *) const
static void AddValueSymbols_(const MCExpr *Value, MCAssembler *Asm)
MCAssembler & getAssembler() const
Get the assembler object this is a layout for.
Target specific expression.