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