LLVM: lib/CodeGen/AsmPrinter/AIXException.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

22

23namespace llvm {

24

26

27void AIXException::emitExceptionInfoTable(const MCSymbol *LSDA,

29

30

31

32

33

34

35

36

37

38

39

40 auto *EHInfo =

43

44

45

46

50 EHInfo->getCsectProp());

51 }

53 MCSymbol *EHInfoLabel =

56

57

59

61 const unsigned PointerSize = DL.getPointerSize();

62

63

64 Asm->OutStreamer->emitValueToAlignment(Align(PointerSize));

65

66

68 PointerSize);

69

70

72 PointerSize);

73}

74

76

77

78

80 return;

81

83

85 assert(F.hasPersonalityFn() &&

86 "Landingpads are presented, but no personality routine is found.");

87 const auto *Per =

88 cast(F.getPersonalityFn()->stripPointerCasts());

90

91 emitExceptionInfoTable(LSDALabel, PerSym);

92}

93

94}

MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL

static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")

Module.h This file contains the declarations for the Module class.

assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())

void endFunction(const MachineFunction *MF) override

Gather post-function debug information.

AIXException(AsmPrinter *A)

This class is intended to be used as a driving class for all asm writers.

const TargetLoweringObjectFile & getObjFileLowering() const

Return information about object file lowering.

TargetMachine & TM

Target machine description.

MachineFunction * MF

The current machine function.

MCContext & OutContext

This is the context for the output file that we are streaming.

void emitInt32(int Value) const

Emit a long directive and value.

std::unique_ptr< MCStreamer > OutStreamer

This is the MCStreamer object for the file we are generating.

Emits exception handling directives.

AsmPrinter * Asm

Target of directive emission.

MCSymbol * emitExceptionTable()

Emit landing pads and actions.

MachineModuleInfo * MMI

Collected machine module information.

MCSectionXCOFF * getXCOFFSection(StringRef Section, SectionKind K, std::optional< XCOFF::CsectProperties > CsectProp=std::nullopt, bool MultiSymbolsAllowed=false, std::optional< XCOFF::DwarfSectionSubtypeFlags > DwarfSubtypeFlags=std::nullopt)

MCSection * getCompactUnwindSection() const

static const MCSymbolRefExpr * create(const MCSymbol *Symbol, MCContext &Ctx)

MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...

Function & getFunction()

Return the LLVM function that this machine code represents.

const Module * getModule() const

const DataLayout & getDataLayout() const

Get the data layout for the module's target platform.

SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better...

static MCSymbol * getEHInfoTableSymbol(const MachineFunction *MF)

static bool ShouldEmitEHBlock(const MachineFunction *MF)

MCSymbol * getSymbol(const GlobalValue *GV) const

bool getFunctionSections() const

Return true if functions should be emitted into their own section, corresponding to -ffunction-sectio...

StringRef getName() const

Return a constant reference to the value's name.

A raw_ostream that writes to an SmallVector or SmallString.

This is an optimization pass for GlobalISel generic memory operations.