LLVM: include/llvm/Analysis/LoopUnrollAnalyzer.h Source File (original) (raw)
Go to the documentation of this file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#ifndef LLVM_ANALYSIS_LOOPUNROLLANALYZER_H
16#define LLVM_ANALYSIS_LOOPUNROLLANALYZER_H
17
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40namespace llvm {
42
46 struct SimplifiedAddress {
47 Value *Base = nullptr;
49 };
50
51public:
55 : SimplifiedValues(SimplifiedValues), SE(SE), L(L) {
56 IterationNumber = SE.getConstant(APInt(64, Iteration));
57 }
58
59
61
62private:
63
64
65
66
67
68
70
71
72
73 const SCEV *IterationNumber;
74
75
76
77
78
79
81
83 const Loop *L;
84
86
93};
94}
95#endif
This file implements a class to represent arbitrary precision integral constant values and operations...
This file defines the DenseMap class.
Class for arbitrary precision integers.
This is the base class for all instructions that perform data casts.
This class is the base class for the comparison instructions.
Base class for instruction visitors.
void visit(Iterator Start, Iterator End)
An instruction for reading from memory.
Represents a single loop in the control flow graph.
This class represents an analyzed expression in the program.
The main scalar evolution driver.
UnrolledInstAnalyzer(unsigned Iteration, DenseMap< Value *, Value * > &SimplifiedValues, ScalarEvolution &SE, const Loop *L)
Definition LoopUnrollAnalyzer.h:52
LLVM Value Representation.
This is an optimization pass for GlobalISel generic memory operations.