LLVM: include/llvm/CodeGen/SwiftErrorValueTracking.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15#ifndef LLVM_CODEGEN_SWIFTERRORVALUETRACKING_H

16#define LLVM_CODEGEN_SWIFTERRORVALUETRACKING_H

17

23#include

24

25

26namespace llvm {

33

35

40

41

42

44 VRegDefMap;

45

46

47

48

50 VRegUpwardsUse;

51

52

53

55 VRegDefUses;

56

57

58 const Value *SwiftErrorArg;

59

61

62

63

64 SwiftErrorValues SwiftErrorVals;

65

66public:

67

69

70

71

73 return SwiftErrorArg;

74 }

75

76

77

79

80

81

83

84

85

88

89

90

93

94

95

97

98

99

101

104};

105

106}

107

108#endif

This file defines the DenseMap class.

This file defines the SmallVector class.

InstListType::const_iterator const_iterator

Representation of each machine instruction.

Wrapper class representing virtual and physical registers.

This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.

bool createEntriesInEntryBlock(DebugLoc DbgLoc)

Create initial definitions of swifterror values in the entry block of the current function.

void setFunction(MachineFunction &MF)

Initialize data structures for specified new function.

Register getOrCreateVReg(const MachineBasicBlock *, const Value *)

Get or create the swifterror value virtual register in VRegDefMap for this basic block.

void setCurrentVReg(const MachineBasicBlock *MBB, const Value *, Register)

Set the swifterror virtual register in the VRegDefMap for this basic block.

Register getOrCreateVRegUseAt(const Instruction *, const MachineBasicBlock *, const Value *)

Get or create the swifterror value virtual register for a use of a swifterror by an instruction.

void preassignVRegs(MachineBasicBlock *MBB, BasicBlock::const_iterator Begin, BasicBlock::const_iterator End)

Register getOrCreateVRegDefAt(const Instruction *, const MachineBasicBlock *, const Value *)

Get or create the swifterror value virtual register for a def of a swifterror by an instruction.

const Value * getFunctionArg() const

Get the (unique) function argument that was marked swifterror, or nullptr if this function has no swi...

Definition SwiftErrorValueTracking.h:72

void propagateVRegs()

Propagate assigned swifterror vregs through a function, synthesizing PHI nodes when needed to maintai...

TargetInstrInfo - Interface to description of machine instruction set.

This class defines information used to lower LLVM code to legal SelectionDAG operators that the targe...

LLVM Value Representation.

This is an optimization pass for GlobalISel generic memory operations.