20void PPCELFMCAsmInfo::anchor() { }
116 return Value & 0xffff;
118 return (
Value >> 16) & 0xffff;
120 return ((
Value + 0x8000) >> 16) & 0xffff;
122 return (
Value >> 16) & 0xffff;
124 return ((
Value + 0x8000) >> 16) & 0xffff;
126 return (
Value >> 32) & 0xffff;
128 return ((
Value + 0x8000) >> 32) & 0xffff;
130 return (
Value >> 48) & 0xffff;
132 return ((
Value + 0x8000) >> 48) & 0xffff;
144 if (!
Value.isAbsolute())
161 std::optional<int64_t> MaybeInt =
static bool evaluateAsRelocatable(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm)
const MCAsmInfo::AtSpecifier elfAtSpecifiers[]
static std::optional< int64_t > evaluateAsInt64(uint16_t specifier, int64_t Value)
const MCAsmInfo::AtSpecifier xcoffAtSpecifiers[]
static bool is64Bit(const char *name)
unsigned MinInstAlignment
Every possible instruction length is a multiple of this value.
void initializeAtSpecifiers(ArrayRef< AtSpecifier >)
const char * Data64bitsDirective
bool DollarIsPC
The '$' token, when not referencing an identifier or constant, refers to the current PC.
ExceptionHandling ExceptionsType
Exception handling format for the target. Defaults to None.
bool AllowDollarAtStartOfIdentifier
This is true if the assembler allows the "$" character at the start of of a string to be lexed as an ...
StringRef getSpecifierName(uint32_t S) const
bool UsesSetToEquateSymbol
Use .set instead of = to equate a symbol to an expression.
LCOMM::LCOMMType LCOMMDirectiveAlignmentType
Describes if the .lcomm directive for the target supports an alignment argument and how it is interpr...
void printExpr(raw_ostream &, const MCExpr &) const
bool UsesELFSectionDirectiveForBSS
This is true if this target uses ELF '.section' directive before the '.bss' one.
bool SupportsDebugInformation
True if target supports emission of debugging information.
unsigned AssemblerDialect
Which dialect of an assembler variant to use. Defaults to 0.
bool AlignmentIsInBytes
If this is true (the default) then the asmprinter emits ".align N" directives, where N is the number ...
const char * ZeroDirective
This should be set to the directive used to get some number of zero (and non-zero if supported by the...
bool IsLittleEndian
True if target is little endian. Default is true.
unsigned CodePointerSize
Code pointer size in bytes. Default is 4.
unsigned CalleeSaveStackSlotSize
Size of the stack slot reserved for callee-saved registers, in bytes.
StringRef CommentString
This indicates the comment string used by the assembler.
LLVM_ABI bool evaluateAsRelocatable(MCValue &Res, const MCAssembler *Asm) const
Try to evaluate the expression to a relocatable value, i.e.
Extension point for target-specific MCExpr subclasses with a relocation specifier,...
const MCExpr * getSubExpr() const
Spec getSpecifier() const
static MCValue get(const MCSymbol *SymA, const MCSymbol *SymB=nullptr, int64_t Val=0, uint32_t Specifier=0)
void setSpecifier(uint32_t S)
int64_t getConstant() const
bool isAbsolute() const
Is this an absolute (as opposed to relocatable) value.
PPCELFMCAsmInfo(bool is64Bit, const Triple &)
bool evaluateAsRelocatableImpl(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm) const override
void printSpecifierExpr(raw_ostream &OS, const MCSpecifierExpr &Expr) const override
bool evaluateAsRelocatableImpl(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm) const override
void printSpecifierExpr(raw_ostream &OS, const MCSpecifierExpr &Expr) const override
PPCXCOFFMCAsmInfo(bool is64Bit, const Triple &)
Triple - Helper class for working with autoconf configuration names.
LLVM Value Representation.
This class implements an extremely fast bulk output stream that can only output to a stream.
bool evaluateAsConstant(const MCSpecifierExpr &Expr, int64_t &Res)
This is an optimization pass for GlobalISel generic memory operations.
@ DwarfCFI
DWARF-like instruction based exceptions.
LLVM_ABI void report_fatal_error(Error Err, bool gen_crash_diag=true)