Searched refs:ValueLatticeElement (Results 1 – 8 of 8) sorted by relevance
29 class ValueLatticeElement {150 ~ValueLatticeElement() { destroy(); } in ~ValueLatticeElement()152 ValueLatticeElement(const ValueLatticeElement &Other) in ValueLatticeElement() function171 ValueLatticeElement(ValueLatticeElement &&Other) in ValueLatticeElement() function191 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 …]
95 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 …]
12 raw_ostream &operator<<(raw_ostream &OS, const ValueLatticeElement &Val) { in operator <<()
48 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 …]
32 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 …]
37 class ValueLatticeElement; variable121 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;
81 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()
131 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()