Lines Matching refs:LatticeVal
60 class LatticeVal { class
88 LatticeVal() : Val(nullptr, unknown) {} in LatticeVal() function in __anon8a523c670111::LatticeVal
163 DenseMap<Value*, LatticeVal> ValueState; // The state each value is in.
168 DenseMap<std::pair<Value*, unsigned>, LatticeVal> StructValueState;
174 DenseMap<GlobalVariable*, LatticeVal> TrackedGlobals;
179 DenseMap<Function*, LatticeVal> TrackedRetVals;
183 DenseMap<std::pair<Function*, unsigned>, LatticeVal> TrackedMultipleRetVals;
234 LatticeVal &IV = TrackedGlobals[GV]; in TrackValueOfGlobalVariable()
249 LatticeVal())); in AddTrackedFunction()
251 TrackedRetVals.insert(std::make_pair(F, LatticeVal())); in AddTrackedFunction()
273 std::vector<LatticeVal> getStructLatticeValueFor(Value *V) const { in getStructLatticeValueFor()
274 std::vector<LatticeVal> StructValues; in getStructLatticeValueFor()
285 LatticeVal getLatticeValueFor(Value *V) const { in getLatticeValueFor()
286 DenseMap<Value*, LatticeVal>::const_iterator I = ValueState.find(V); in getLatticeValueFor()
293 const DenseMap<Function*, LatticeVal> &getTrackedRetVals() { in getTrackedRetVals()
299 const DenseMap<GlobalVariable*, LatticeVal> &getTrackedGlobals() { in getTrackedGlobals()
320 void pushToWorkList(LatticeVal &IV, Value *V) { in pushToWorkList()
330 void markConstant(LatticeVal &IV, Value *V, Constant *C) { in markConstant()
343 LatticeVal &IV = ValueState[V]; in markForcedConstant()
353 void markOverdefined(LatticeVal &IV, Value *V) { in markOverdefined()
365 void mergeInValue(LatticeVal &IV, Value *V, LatticeVal MergeWithV) { in mergeInValue()
376 void mergeInValue(Value *V, LatticeVal MergeWithV) { in mergeInValue()
385 LatticeVal &getValueState(Value *V) { in getValueState()
388 std::pair<DenseMap<Value*, LatticeVal>::iterator, bool> I = in getValueState()
389 ValueState.insert(std::make_pair(V, LatticeVal())); in getValueState()
390 LatticeVal &LV = I.first->second; in getValueState()
408 LatticeVal &getStructValueState(Value *V, unsigned i) { in getStructValueState()
413 std::pair<DenseMap<std::pair<Value*, unsigned>, LatticeVal>::iterator, in getStructValueState()
415 std::make_pair(std::make_pair(V, i), LatticeVal())); in getStructValueState()
416 LatticeVal &LV = I.first->second; in getStructValueState()
550 LatticeVal BCValue = getValueState(BI->getCondition()); in getFeasibleSuccessors()
576 LatticeVal SCValue = getValueState(SI->getCondition()); in getFeasibleSuccessors()
619 LatticeVal BCValue = getValueState(BI->getCondition()); in isEdgeFeasible()
639 LatticeVal SCValue = getValueState(SI->getCondition()); in isEdgeFeasible()
699 LatticeVal IV = getValueState(PN.getIncomingValue(i)); in visitPHINode()
740 DenseMap<Function*, LatticeVal>::iterator TFRVI = in visitReturnInst()
772 LatticeVal OpSt = getValueState(I.getOperand(0)); in visitCastInst()
800 LatticeVal EltVal = getStructValueState(AggVal, i); in visitExtractValueInst()
825 LatticeVal EltVal = getStructValueState(Aggr, i); in visitInsertValueInst()
835 LatticeVal InVal = getValueState(Val); in visitInsertValueInst()
847 LatticeVal CondValue = getValueState(I.getCondition()); in visitSelectInst()
860 LatticeVal TVal = getValueState(I.getTrueValue()); in visitSelectInst()
861 LatticeVal FVal = getValueState(I.getFalseValue()); in visitSelectInst()
877 LatticeVal V1State = getValueState(I.getOperand(0)); in visitBinaryOperator()
878 LatticeVal V2State = getValueState(I.getOperand(1)); in visitBinaryOperator()
880 LatticeVal &IV = ValueState[&I]; in visitBinaryOperator()
902 LatticeVal *NonOverdefVal = nullptr; in visitBinaryOperator()
939 LatticeVal V1State = getValueState(I.getOperand(0)); in visitCmpInst()
940 LatticeVal V2State = getValueState(I.getOperand(1)); in visitCmpInst()
942 LatticeVal &IV = ValueState[&I]; in visitCmpInst()
985 LatticeVal State = getValueState(I.getOperand(i)); in visitGetElementPtrInst()
1014 DenseMap<GlobalVariable*, LatticeVal>::iterator I = TrackedGlobals.find(GV); in visitStoreInst()
1031 LatticeVal PtrVal = getValueState(I.getOperand(0)); in visitLoadInst()
1034 LatticeVal &IV = ValueState[&I]; in visitLoadInst()
1050 DenseMap<GlobalVariable*, LatticeVal>::iterator It = in visitLoadInst()
1091 LatticeVal State = getValueState(*AI); in visitCallSite()
1137 LatticeVal CallArg = getStructValueState(*CAI, i); in visitCallSite()
1157 DenseMap<Function*, LatticeVal>::iterator TFRVI = TrackedRetVals.find(F); in visitCallSite()
1266 LatticeVal &LV = getStructValueState(&I, i); in ResolvedUndefsIn()
1273 LatticeVal &LV = getValueState(&I); in ResolvedUndefsIn()
1287 LatticeVal Op0LV = getValueState(I.getOperand(0)); in ResolvedUndefsIn()
1288 LatticeVal Op1LV; in ResolvedUndefsIn()
1516 std::vector<LatticeVal> IVs = Solver.getStructLatticeValueFor(V); in tryToReplaceWithConstant()
1518 [](LatticeVal &LV) { return LV.isOverdefined(); })) in tryToReplaceWithConstant()
1523 LatticeVal V = IVs[i]; in tryToReplaceWithConstant()
1530 LatticeVal IV = Solver.getLatticeValueFor(V); in tryToReplaceWithConstant()
1870 const DenseMap<Function*, LatticeVal> &RV = Solver.getTrackedRetVals(); in runIPSCCP()
1894 const DenseMap<GlobalVariable*, LatticeVal> &TG = Solver.getTrackedGlobals(); in runIPSCCP()
1895 for (DenseMap<GlobalVariable*, LatticeVal>::const_iterator I = TG.begin(), in runIPSCCP()