Lines Matching refs:ConstantRange

74 bool isUnsafe(const ConstantRange &R) {  in isUnsafe()
78 ConstantRange addOverflowNever(const ConstantRange &L, const ConstantRange &R) { in addOverflowNever()
82 ConstantRange::OverflowResult::NeverOverflows) in addOverflowNever()
83 return ConstantRange::getFull(L.getBitWidth()); in addOverflowNever()
84 ConstantRange Result = L.add(R); in addOverflowNever()
89 ConstantRange unionNoWrap(const ConstantRange &L, const ConstantRange &R) { in unionNoWrap()
95 Result = ConstantRange::getFull(Result.getBitWidth()); in unionNoWrap()
120 ConstantRange Range;
128 using CallsTy = std::map<CallInfo<CalleeTy>, ConstantRange,
134 void updateRange(const ConstantRange &R) { Range = unionNoWrap(Range, R); } in updateRange()
135 void addRange(const Instruction *I, const ConstantRange &R, bool IsSafe) { in addRange()
154 ConstantRange getStaticAllocaSizeRange(const AllocaInst &AI) { in getStaticAllocaSizeRange()
159 ConstantRange R = ConstantRange::getEmpty(PointerSize); in getStaticAllocaSizeRange()
178 R = ConstantRange(APInt::getZero(PointerSize), APSize); in getStaticAllocaSizeRange()
244 const ConstantRange UnknownRange;
246 ConstantRange offsetFrom(Value *Addr, Value *Base);
247 ConstantRange getAccessRange(Value *Addr, Value *Base,
248 const ConstantRange &SizeRange);
249 ConstantRange getAccessRange(Value *Addr, Value *Base, TypeSize Size);
250 ConstantRange getMemIntrinsicAccessRange(const MemIntrinsic *MI, const Use &U,
271 ConstantRange StackSafetyLocalAnalysis::offsetFrom(Value *Addr, Value *Base) { in offsetFrom()
282 ConstantRange Offset = SE.getSignedRange(Diff); in offsetFrom()
288 ConstantRange
290 const ConstantRange &SizeRange) { in getAccessRange()
293 return ConstantRange::getEmpty(PointerSize); in getAccessRange()
296 ConstantRange Offsets = offsetFrom(Addr, Base); in getAccessRange()
306 ConstantRange StackSafetyLocalAnalysis::getAccessRange(Value *Addr, Value *Base, in getAccessRange()
314 ConstantRange(APInt::getZero(PointerSize), APSize)); in getAccessRange()
317 ConstantRange StackSafetyLocalAnalysis::getMemIntrinsicAccessRange( in getMemIntrinsicAccessRange()
321 return ConstantRange::getEmpty(PointerSize); in getMemIntrinsicAccessRange()
324 return ConstantRange::getEmpty(PointerSize); in getMemIntrinsicAccessRange()
333 ConstantRange Sizes = SE.getSignedRange(Expr); in getMemIntrinsicAccessRange()
337 ConstantRange SizeRange(APInt::getZero(PointerSize), Sizes.getUpper() - 1); in getMemIntrinsicAccessRange()
505 ConstantRange Offsets = offsetFrom(UI, Ptr); in analyzeAllUses()
558 const ConstantRange UnknownRange;
581 UnknownRange(ConstantRange::getFull(PointerBitWidth)) {} in StackSafetyDataFlowAnalysis()
585 ConstantRange getArgumentAccessRange(const CalleeTy *Callee, unsigned ParamNo,
586 const ConstantRange &Offsets) const;
590 ConstantRange StackSafetyDataFlowAnalysis<CalleeTy>::getArgumentAccessRange( in getArgumentAccessRange()
592 const ConstantRange &Offsets) const { in getArgumentAccessRange()
617 ConstantRange CalleeRange = in updateOneUse()
762 const ConstantRange *findParamAccess(const FunctionSummary &FS, in findParamAccess()
774 ConstantRange FullSet(Use.Range.getBitWidth(), true); in resolveAllCalls()
796 const ConstantRange *Found = findParamAccess(*FS, C.first.ParamNo); in resolveAllCalls()
799 ConstantRange Access = Found->sextOrTrunc(Use.Range.getBitWidth()); in resolveAllCalls()
1106 const ConstantRange FullSet(FunctionSummary::ParamAccess::RangeWidth, true); in generateParamAccessSummary()