LLVM: include/llvm/ADT/GenericSSAContext.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17#ifndef LLVM_ADT_GENERICSSACONTEXT_H
18#define LLVM_ADT_GENERICSSACONTEXT_H
19
21
22namespace llvm {
23
26
30
31
32
34
35
36
37
38
39
40
43 const typename SSATraits::FunctionT *F;
44
45public:
46
47
48
49 using ValueRefT = typename SSATraits::ValueRefT;
50
51
52
54
55
56
58
59
60 using InstructionT = typename SSATraits::InstructionT;
61
62
63
64 using UseT = typename SSATraits::UseT;
65
66
67
68
69
70 using BlockT = typename SSATraits::BlockT;
71
72
73
74 using FunctionT = typename SSATraits::FunctionT;
75
76
77
79
82
84
86
90
95
98
103};
104}
105
106#endif
unify loop Fixup each natural loop to have a single exit block
Core dominator tree base class.
typename SSATraits::InstructionT InstructionT
Definition GenericSSAContext.h:60
static void appendBlockTerms(SmallVectorImpl< const InstructionT * > &terms, const BlockT &block)
static void appendBlockDefs(SmallVectorImpl< ValueRefT > &defs, BlockT &block)
typename SSATraits::FunctionT FunctionT
Definition GenericSSAContext.h:74
const FunctionT * getFunction() const
Definition GenericSSAContext.h:83
static bool isConstantOrUndefValuePhi(const InstructionT &Instr)
static void appendBlockTerms(SmallVectorImpl< InstructionT * > &terms, BlockT &block)
GenericSSAContext()=default
static Intrinsic::ID getIntrinsicID(const InstructionT &I)
Printable print(const BlockT *block) const
typename SSATraits::ConstValueRefT ConstValueRefT
Definition GenericSSAContext.h:53
static void appendBlockDefs(SmallVectorImpl< ConstValueRefT > &defs, const BlockT &block)
Printable print(ConstValueRefT value) const
typename SSATraits::BlockT BlockT
Definition GenericSSAContext.h:70
const BlockT * getDefBlock(ConstValueRefT value) const
static constexpr ValueRefT ValueRefNull
Definition GenericSSAContext.h:57
typename SSATraits::UseT UseT
Definition GenericSSAContext.h:64
DominatorTreeBase< BlockT, false > DominatorTreeT
Definition GenericSSAContext.h:78
Printable print(const InstructionT *inst) const
typename SSATraits::ValueRefT ValueRefT
Definition GenericSSAContext.h:49
Printable printAsOperand(const BlockT *BB) const
GenericSSAContext(const FunctionT *F)
Definition GenericSSAContext.h:81
Simple wrapper around std::function<void(raw_ostream&)>.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
This namespace contains an enum with a value for every intrinsic/builtin function known by LLVM.
Definition GenericSSAContext.h:27
unsigned ID
Definition GenericSSAContext.h:28
This is an optimization pass for GlobalISel generic memory operations.
Definition GenericSSAContext.h:33