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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20#ifndef LLVM_CODEGEN_LIVEDEBUGVARIABLES_H

21#define LLVM_CODEGEN_LIVEDEBUGVARIABLES_H

22

27#include

28

29namespace llvm {

30

31template class ArrayRef;

34

36

37public:

42

44

45

46

49

50

51

52

54

55#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)

56

57 void dump() const;

58#endif

59

61

63

65 MachineFunctionAnalysisManager::Invalidator &Inv);

66

67private:

68 std::unique_ptr PImpl;

69};

70

72 std::unique_ptr Impl;

73

74public:

75 static char ID;

76

78

80

83

85 if (Impl)

86 Impl->releaseMemory();

87 }

89

93};

94

99

100public:

102

106

108};

109

111 : public PassInfoMixin {

113

114public:

116

119};

120}

121

122#endif

This header defines various interfaces for pass management in LLVM.

Represent the analysis usage information of a pass.

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...

LiveDebugVariables Result

Definition LiveDebugVariables.h:101

MachineFunctionProperties getSetProperties() const

Definition LiveDebugVariables.h:103

Result run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)

PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)

LiveDebugVariablesPrinterPass(raw_ostream &OS)

Definition LiveDebugVariables.h:115

LiveDebugVariablesWrapperLegacy()

const LiveDebugVariables & getLDV() const

Definition LiveDebugVariables.h:82

void releaseMemory() override

releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memo...

Definition LiveDebugVariables.h:84

MachineFunctionProperties getSetProperties() const override

Definition LiveDebugVariables.h:90

LiveDebugVariables & getLDV()

Definition LiveDebugVariables.h:81

bool runOnMachineFunction(MachineFunction &) override

runOnMachineFunction - This method must be overloaded to perform the desired machine code transformat...

void getAnalysisUsage(AnalysisUsage &) const override

getAnalysisUsage - This function should be overriden by passes that need analysis information to do t...

static char ID

Definition LiveDebugVariables.h:75

void dump() const

dump - Print data structures to dbgs().

void splitRegister(Register OldReg, ArrayRef< Register > NewRegs, LiveIntervals &LIS)

splitRegister - Move any user variables in OldReg to the live ranges in NewRegs where they are live.

LiveDebugVariables()

Implementation of the LiveDebugVariables pass.

void print(raw_ostream &OS) const

void analyze(MachineFunction &MF, LiveIntervals *LIS)

LiveDebugVariables(LiveDebugVariables &&)

void emitDebugValues(VirtRegMap *VRM)

emitDebugValues - Emit new DBG_VALUE instructions reflecting the changes that happened during registe...

bool invalidate(MachineFunction &MF, const PreservedAnalyses &PA, MachineFunctionAnalysisManager::Invalidator &Inv)

MachineFunctionPass(char &ID)

Properties which a MachineFunction may have at a given point in time.

A set of analyses that are preserved following a run of a transformation pass.

Wrapper class representing virtual and physical registers.

This class implements an extremely fast bulk output stream that can only output to a stream.

This is an optimization pass for GlobalISel generic memory operations.

AnalysisManager< MachineFunction > MachineFunctionAnalysisManager

A CRTP mix-in that provides informational APIs needed for analysis passes.

A special type used by analysis passes to provide an address that identifies that particular analysis...

A CRTP mix-in to automatically provide informational APIs needed for passes.