Lines Matching refs:IV

130   ConstantInt *getConstantInt(const ValueLatticeElement &IV) const {  in getConstantInt()
131 return dyn_cast_or_null<ConstantInt>(getConstant(IV)); in getConstantInt()
135 void pushToWorkList(ValueLatticeElement &IV, Value *V);
139 void pushToWorkListMsg(ValueLatticeElement &IV, Value *V);
144 bool markConstant(ValueLatticeElement &IV, Value *V, Constant *C,
155 bool markOverdefined(ValueLatticeElement &IV, Value *V);
159 bool mergeInValue(ValueLatticeElement &IV, Value *V,
356 ValueLatticeElement &IV = TrackedGlobals[GV]; in trackValueOfGlobalVariable() local
357 IV.markConstant(GV->getInitializer()); in trackValueOfGlobalVariable()
469 void SCCPInstVisitor::pushToWorkList(ValueLatticeElement &IV, Value *V) { in pushToWorkList() argument
470 if (IV.isOverdefined()) in pushToWorkList()
475 void SCCPInstVisitor::pushToWorkListMsg(ValueLatticeElement &IV, Value *V) { in pushToWorkListMsg() argument
476 LLVM_DEBUG(dbgs() << "updated " << IV << ": " << *V << '\n'); in pushToWorkListMsg()
477 pushToWorkList(IV, V); in pushToWorkListMsg()
480 bool SCCPInstVisitor::markConstant(ValueLatticeElement &IV, Value *V, in markConstant() argument
482 if (!IV.markConstant(C, MayIncludeUndef)) in markConstant()
485 pushToWorkList(IV, V); in markConstant()
489 bool SCCPInstVisitor::markOverdefined(ValueLatticeElement &IV, Value *V) { in markOverdefined() argument
490 if (!IV.markOverdefined()) in markOverdefined()
498 pushToWorkList(IV, V); in markOverdefined()
566 bool SCCPInstVisitor::mergeInValue(ValueLatticeElement &IV, Value *V, in mergeInValue() argument
569 if (IV.mergeIn(MergeWithV, Opts)) { in mergeInValue()
570 pushToWorkList(IV, V); in mergeInValue()
572 << IV << "\n"); in mergeInValue()
751 ValueLatticeElement IV = getValueState(PN.getIncomingValue(i)); in visitPHINode() local
752 PhiState.mergeIn(IV); in visitPHINode()
950 ValueLatticeElement &IV = ValueState[&I]; in visitUnaryOperator() local
953 if (isOverdefined(IV)) in visitUnaryOperator()
963 return (void)markConstant(IV, &I, C); in visitUnaryOperator()
973 ValueLatticeElement &IV = ValueState[&I]; in visitBinaryOperator() local
974 if (IV.isOverdefined()) in visitBinaryOperator()
1137 ValueLatticeElement &IV = ValueState[&I]; in visitLoadInst() local
1145 return (void)markOverdefined(IV, &I); in visitLoadInst()
1156 mergeInValue(IV, &I, It->second, getMaxWidenStepsOpts()); in visitLoadInst()
1164 return (void)markConstant(IV, &I, C); in visitLoadInst()
1278 ValueLatticeElement &IV = ValueState[&CB]; in handleCallResult() local
1308 IV, &CB, in handleCallResult()
1315 mergeInValue(IV, &CB, CondVal); in handleCallResult()
1320 mergeInValue(IV, &CB, in handleCallResult()
1325 return (void)mergeInValue(IV, &CB, CopyOfVal); in handleCallResult()