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

1

2

3

4

5

6

7

8

9#ifndef LLVM_CODEGEN_MACHINEDOMINANCEFRONTIER_H

10#define LLVM_CODEGEN_MACHINEDOMINANCEFRONTIER_H

11

17

18namespace llvm {

19

22

23public:

30

33

34 static char ID;

35

37

39

41 return Base.getRoots();

42 }

43

45 return Base.getRoot();

46 }

47

49 return Base.isPostDominator();

50 }

51

53 return Base.begin();

54 }

55

57 return Base.begin();

58 }

59

61 return Base.end();

62 }

63

65 return Base.end();

66 }

67

69 return Base.find(B);

70 }

71

73 return Base.find(B);

74 }

75

77

79

81};

82

83}

84

85#endif

static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")

This file defines a set of templates that efficiently compute a dominator tree over a generic graph.

Represent the analysis usage information of a pass.

Base class for the actual dominator tree node.

typename DomSetMapType::iterator iterator

SetVector< BlockT * > DomSetType

typename DomSetMapType::const_iterator const_iterator

DominanceFrontier Class - Concrete subclass of DominanceFrontierBase that is used to compute a forwar...

void getAnalysisUsage(AnalysisUsage &AU) const override

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

MachineBasicBlock * getRoot() const

Definition MachineDominanceFrontier.h:44

const_iterator find(MachineBasicBlock *B) const

Definition MachineDominanceFrontier.h:72

DominanceFrontierBase< MachineBasicBlock, false >::iterator iterator

Definition MachineDominanceFrontier.h:27

DominanceFrontierBase< MachineBasicBlock, false >::const_iterator const_iterator

Definition MachineDominanceFrontier.h:28

const SmallVectorImpl< MachineBasicBlock * > & getRoots() const

Definition MachineDominanceFrontier.h:40

iterator find(MachineBasicBlock *B)

Definition MachineDominanceFrontier.h:68

const_iterator end() const

Definition MachineDominanceFrontier.h:64

bool runOnMachineFunction(MachineFunction &F) override

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

static char ID

Definition MachineDominanceFrontier.h:34

DominanceFrontierBase< MachineBasicBlock, false >::DomSetType DomSetType

Definition MachineDominanceFrontier.h:26

MachineDominanceFrontier()

bool isPostDominator() const

Definition MachineDominanceFrontier.h:48

ForwardDominanceFrontierBase< MachineBasicBlock > & getBase()

Definition MachineDominanceFrontier.h:38

DomTreeNodeBase< MachineBasicBlock > DomTreeNodeT

Definition MachineDominanceFrontier.h:25

MachineDominanceFrontier(const MachineDominanceFrontier &)=delete

const_iterator begin() const

Definition MachineDominanceFrontier.h:56

void releaseMemory() override

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

DomTreeBase< MachineBasicBlock > DomTreeT

Definition MachineDominanceFrontier.h:24

iterator begin()

Definition MachineDominanceFrontier.h:52

iterator end()

Definition MachineDominanceFrontier.h:60

MachineDominanceFrontier & operator=(const MachineDominanceFrontier &)=delete

MachineFunctionPass(char &ID)

This class consists of common code factored out of the SmallVector class to reduce code duplication b...

This is an optimization pass for GlobalISel generic memory operations.

DominatorTreeBase< T, false > DomTreeBase