LLVM: lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

17

18using namespace llvm;

19

20void PPCELFMCAsmInfo::anchor() { }

21

98

111

114 switch (specifier) {

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;

133 default:

134 return {};

135 }

136}

137

140

142 return false;

143

144 if (Value.isAbsolute())

145 return false;

147 if (!Tmp)

148 return false;

149 Res = *Tmp;

150 return true;

151}

152

156 return false;

157

158

159

160

161 std::optional<int64_t> MaybeInt =

165 } else {

167 }

168

169 return true;

170}

171

173

174

176

179 }

182

183

185

187

188

190

191

193

196

197

199

200

202

207

209}

210

216

222

225 report_fatal_error("XCOFF is not supported for little-endian targets");

227

228

230

231

233

234

236

237

240

242

244}

245

251

static bool evaluateAsRelocatable(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm)

Definition PPCMCAsmInfo.cpp:153

const MCAsmInfo::AtSpecifier elfAtSpecifiers[]

Definition PPCMCAsmInfo.cpp:22

static std::optional< int64_t > evaluateAsInt64(uint16_t specifier, int64_t Value)

Definition PPCMCAsmInfo.cpp:112

const MCAsmInfo::AtSpecifier xcoffAtSpecifiers[]

Definition PPCMCAsmInfo.cpp:99

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 &)

Definition PPCMCAsmInfo.cpp:172

bool evaluateAsRelocatableImpl(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm) const override

Definition PPCMCAsmInfo.cpp:217

void printSpecifierExpr(raw_ostream &OS, const MCSpecifierExpr &Expr) const override

Definition PPCMCAsmInfo.cpp:211

bool evaluateAsRelocatableImpl(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm) const override

Definition PPCMCAsmInfo.cpp:252

void printSpecifierExpr(raw_ostream &OS, const MCSpecifierExpr &Expr) const override

Definition PPCMCAsmInfo.cpp:246

PPCXCOFFMCAsmInfo(bool is64Bit, const Triple &)

Definition PPCMCAsmInfo.cpp:223

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)

Definition PPCMCAsmInfo.cpp:138

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)