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;

32class LiveIntervals;

33class VirtRegMap;

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

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};

95

100

101public:

103

107 }

108

110};

111

113 : public PassInfoMixin {

115

116public:

118

121};

122}

123

124#endif

This header defines various interfaces for pass management in LLVM.

API to communicate dependencies between analyses during invalidation.

A container for analyses that lazily runs them and caches their results.

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

MachineFunctionProperties getSetProperties() const

Result run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)

PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)

LiveDebugVariablesPrinterPass(raw_ostream &OS)

LiveDebugVariablesWrapperLegacy()

const LiveDebugVariables & getLDV() const

void releaseMemory() override

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

MachineFunctionProperties getSetProperties() const override

LiveDebugVariables & getLDV()

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...

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 - This class adapts the FunctionPass interface to allow convenient creation of pa...

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

MachineFunctionProperties & set(Property P)

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.

ArrayRef(const T &OneElt) -> ArrayRef< T >

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.