• Home
  • Raw
  • Download

Lines Matching refs:Val

76   Constant *Val;  member in __anond3f06b990111::LVILatticeVal
80 LVILatticeVal() : Tag(undefined), Val(0), Range(1, true) {} in LVILatticeVal()
108 return Val; in getConstant()
113 return Val; in getNotConstant()
142 Val = V; in markConstant()
160 Val = V; in markNotConstant()
192 Val = RHS.Val; in mergeIn()
199 if (Val == RHS.Val) in mergeIn()
205 if (Val == RHS.Val) in mergeIn()
231 if (Val == RHS.Val) in mergeIn()
248 if (Val == RHS.Val) in mergeIn()
270 raw_ostream &operator<<(raw_ostream &OS, const LVILatticeVal &Val)
272 raw_ostream &operator<<(raw_ostream &OS, const LVILatticeVal &Val) { in operator <<() argument
273 if (Val.isUndefined()) in operator <<()
275 if (Val.isOverdefined()) in operator <<()
278 if (Val.isNotConstant()) in operator <<()
279 return OS << "notconstant<" << *Val.getNotConstant() << '>'; in operator <<()
280 else if (Val.isConstantRange()) in operator <<()
281 return OS << "constantrange<" << Val.getConstantRange().getLower() << ", " in operator <<()
282 << Val.getConstantRange().getUpper() << '>'; in operator <<()
283 return OS << "constant<" << *Val.getConstant() << '>'; in operator <<()
320 static unsigned getHashValue(const LVIValueHandle &Val) { in getHashValue()
321 return PointerInfo::getHashValue(Val); in getHashValue()
341 static unsigned getHashValue( const PairTy &Val) { in getHashValue()
342 return APointerInfo::getHashValue(Val.first) ^ in getHashValue()
343 BPointerInfo::getHashValue(Val.second); in getHashValue()
382 Value *Val; member
388 : Parent(P), Val(V), BB(B), BBLV(LV) { } in OverDefinedCacheUpdater()
392 Parent->OverDefinedCache.insert(std::make_pair(BB, Val)); in markResult()
399 LVILatticeVal getBlockValue(Value *Val, BasicBlock *BB);
402 bool hasBlockValue(Value *Val, BasicBlock *BB);
407 bool solveBlockValue(Value *Val, BasicBlock *BB);
409 Value *Val, BasicBlock *BB);
493 bool LazyValueInfoCache::hasBlockValue(Value *Val, BasicBlock *BB) { in hasBlockValue() argument
495 if (isa<Constant>(Val)) in hasBlockValue()
498 LVIValueHandle ValHandle(Val, this); in hasBlockValue()
503 LVILatticeVal LazyValueInfoCache::getBlockValue(Value *Val, BasicBlock *BB) { in getBlockValue() argument
505 if (Constant *VC = dyn_cast<Constant>(Val)) in getBlockValue()
508 return lookup(Val)[BB]; in getBlockValue()
511 bool LazyValueInfoCache::solveBlockValue(Value *Val, BasicBlock *BB) { in solveBlockValue() argument
512 if (isa<Constant>(Val)) in solveBlockValue()
515 ValueCacheEntryTy &Cache = lookup(Val); in solveBlockValue()
522 OverDefinedCacheUpdater ODCacheUpdater(Val, BB, BBLV, this); in solveBlockValue()
540 Instruction *BBI = dyn_cast<Instruction>(Val); in solveBlockValue()
542 return ODCacheUpdater.markResult(solveBlockValueNonLocal(BBLV, Val, BB)); in solveBlockValue()
609 Value *Val, BasicBlock *BB) { in solveBlockValueNonLocal() argument
615 if (Val->getType()->isPointerTy()) { in solveBlockValueNonLocal()
616 if (isa<AllocaInst>(Val)) { in solveBlockValueNonLocal()
620 if (InstructionDereferencesPointer(BI, Val)) { in solveBlockValueNonLocal()
631 assert(isa<Argument>(Val) && "Unknown live-in to the entry block"); in solveBlockValueNonLocal()
633 PointerType *PTy = cast<PointerType>(Val->getType()); in solveBlockValueNonLocal()
647 EdgesMissing |= !getEdgeValue(Val, *PI, BB, EdgeResult); in solveBlockValueNonLocal()
661 PointerType *PTy = cast<PointerType>(Val->getType()); in solveBlockValueNonLocal()
796 bool LazyValueInfoCache::getEdgeValue(Value *Val, BasicBlock *BBFrom, in getEdgeValue() argument
799 if (Constant *VC = dyn_cast<Constant>(Val)) { in getEdgeValue()
817 if (BI->getCondition() == Val) { in getEdgeValue()
819 Type::getInt1Ty(Val->getContext()), isTrueDest)); in getEdgeValue()
826 if (ICI && ICI->getOperand(0) == Val && in getEdgeValue()
848 if (!hasBlockValue(Val, BBFrom)) { in getEdgeValue()
849 BlockValueStack.push(std::make_pair(BBFrom, Val)); in getEdgeValue()
853 LVILatticeVal InBlock = getBlockValue(Val, BBFrom); in getEdgeValue()
874 if (SI->getCondition() == Val) { in getEdgeValue()
899 if (hasBlockValue(Val, BBFrom)) { in getEdgeValue()
900 Result = getBlockValue(Val, BBFrom); in getEdgeValue()
903 BlockValueStack.push(std::make_pair(BBFrom, Val)); in getEdgeValue()