Home
last modified time | relevance | path

Searched refs:ValueLatticeElement (Results 1 – 8 of 8) sorted by relevance

/llvm-project-15.0.7/llvm/include/llvm/Analysis/
H A DValueLattice.h29 class ValueLatticeElement {
150 ~ValueLatticeElement() { destroy(); } in ~ValueLatticeElement()
152 ValueLatticeElement(const ValueLatticeElement &Other) in ValueLatticeElement() function
171 ValueLatticeElement(ValueLatticeElement &&Other) in ValueLatticeElement() function
191 ValueLatticeElement &operator=(const ValueLatticeElement &Other) {
197 ValueLatticeElement &operator=(ValueLatticeElement &&Other) {
204 ValueLatticeElement Res; in get()
212 ValueLatticeElement Res; in getNot()
223 ValueLatticeElement Res;
229 ValueLatticeElement Res;
[all …]
/llvm-project-15.0.7/llvm/lib/Analysis/
H A DLazyValueInfo.cpp95 static ValueLatticeElement intersect(const ValueLatticeElement &A, in intersect()
127 return ValueLatticeElement::getRange( in intersect()
978 Optional<ValueLatticeElement>
1164 static Optional<ValueLatticeElement>
1427 ValueLatticeElement LocalResult = in getEdgeValue()
1478 ValueLatticeElement Result = ValueLatticeElement::getOverdefined(); in getValueAt()
1597 ValueLatticeElement Result = in getConstant()
1615 ValueLatticeElement Result = in getConstantRange()
1634 ValueLatticeElement Result = in getConstantOnEdge()
1653 ValueLatticeElement Result = in getConstantRangeOnEdge()
[all …]
H A DValueLattice.cpp12 raw_ostream &operator<<(raw_ostream &OS, const ValueLatticeElement &Val) { in operator <<()
/llvm-project-15.0.7/llvm/lib/Transforms/Utils/
H A DSCCPSolver.cpp48 bool isConstant(const ValueLatticeElement &LV) { in isConstant()
71 DenseMap<Value *, ValueLatticeElement>
506 ValueLatticeElement LV = It->second; in isStructLatticeConstant()
950 ValueLatticeElement &IV = ValueState[&I]; in visitUnaryOperator()
973 ValueLatticeElement &IV = ValueState[&I]; in visitBinaryOperator()
997 ValueLatticeElement NewV; in visitBinaryOperator()
1043 ValueLatticeElement CV; in visitCmpInst()
1112 return ValueLatticeElement::getRange( in getValueFromMetadata()
1115 return ValueLatticeElement::getNot( in getValueFromMetadata()
1137 ValueLatticeElement &IV = ValueState[&I]; in visitLoadInst()
[all …]
/llvm-project-15.0.7/llvm/unittests/Analysis/
H A DValueLatticeTest.cpp32 EXPECT_TRUE(ValueLatticeElement::get(C1).isConstantRange()); in TEST_F()
35 EXPECT_TRUE(ValueLatticeElement::getOverdefined().isOverdefined()); in TEST_F()
39 EXPECT_TRUE(ValueLatticeElement::get(C2).isConstant()); in TEST_F()
40 EXPECT_TRUE(ValueLatticeElement::getNot(C2).isNotConstant()); in TEST_F()
65 auto LV1 = ValueLatticeElement::get(C1); in TEST_F()
66 EXPECT_FALSE(LV1.mergeIn(ValueLatticeElement::get(C1))); in TEST_F()
84 ValueLatticeElement LV2; in TEST_F()
106 auto LV1 = ValueLatticeElement::get(C1); in TEST_F()
151 auto LV1 = ValueLatticeElement::get(C1); in TEST_F()
152 auto LV2 = ValueLatticeElement::get(C1); in TEST_F()
[all …]
/llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/
H A DSCCPSolver.h37 class ValueLatticeElement; variable
121 std::vector<ValueLatticeElement> getStructLatticeValueFor(Value *V) const;
125 const ValueLatticeElement &getLatticeValueFor(Value *V) const;
128 const MapVector<Function *, ValueLatticeElement> &getTrackedRetVals();
132 const DenseMap<GlobalVariable *, ValueLatticeElement> &getTrackedGlobals();
149 Constant *getConstant(const ValueLatticeElement &LV) const;
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DSCCP.cpp81 static bool isConstant(const ValueLatticeElement &LV) { in isConstant()
90 static bool isOverdefined(const ValueLatticeElement &LV) { in isOverdefined()
109 std::vector<ValueLatticeElement> IVs = Solver.getStructLatticeValueFor(V); in tryToReplaceWithConstant()
115 ValueLatticeElement V = IVs[i]; in tryToReplaceWithConstant()
122 const ValueLatticeElement &IV = Solver.getLatticeValueFor(V); in tryToReplaceWithConstant()
175 const ValueLatticeElement &IV = Solver.getLatticeValueFor(ExtOp); in simplifyInstsInBlock()
351 [](const ValueLatticeElement &LV) { in findReturnsToZap()
631 const ValueLatticeElement &ReturnValue = I.second; in runIPSCCP()
/llvm-project-15.0.7/llvm/lib/Transforms/IPO/
H A DFunctionSpecialization.cpp131 static bool isConstant(const ValueLatticeElement &LV) { in isConstant()
137 static bool isOverdefined(const ValueLatticeElement &LV) { in isOverdefined()
356 const ValueLatticeElement &IV = Solver.getLatticeValueFor(V); in tryToReplaceWithConstant()