|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
include/llvm/Analysis/ScalarEvolution.h 66 class SCEVAddRecExpr;
References
include/llvm/Analysis/ScalarEvolution.h 365 getImpliedFlags(const SCEVAddRecExpr *AR, ScalarEvolution &SE);
368 const SCEVAddRecExpr *AR;
373 const SCEVAddRecExpr *AR,
910 const SCEVAddRecExpr *LHS, const SCEV *RHS);
921 bool isMonotonicPredicate(const SCEVAddRecExpr *LHS, ICmpInst::Predicate Pred,
1078 getWrapPredicate(const SCEVAddRecExpr *AR,
1086 const SCEVAddRecExpr *convertSCEVToAddRecWithPredicates(
1780 SCEV::NoWrapFlags proveNoWrapViaConstantRanges(const SCEVAddRecExpr *AR);
1782 bool isMonotonicPredicateImpl(const SCEVAddRecExpr *LHS,
1989 const SCEVAddRecExpr *getAsAddRec(Value *V);
2010 bool areAddRecsEqualWithPreds(const SCEVAddRecExpr *AR1,
2011 const SCEVAddRecExpr *AR2) const;
include/llvm/Analysis/ScalarEvolutionExpander.h 227 Value *generateOverflowCheck(const SCEVAddRecExpr *AR, Instruction *Loc,
378 Value *visitAddRecExpr(const SCEVAddRecExpr *S);
398 Value *expandAddRecExprLiterally(const SCEVAddRecExpr *);
399 PHINode *getAddRecExprPHILiterally(const SCEVAddRecExpr *Normalized,
include/llvm/Analysis/ScalarEvolutionExpressions.h 359 const SCEVAddRecExpr *getPostIncExpr(ScalarEvolution &SE) const;
724 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) {
833 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) {
844 const SCEVAddRecExpr *Rec = cast<SCEVAddRecExpr>(Res);
844 const SCEVAddRecExpr *Rec = cast<SCEVAddRecExpr>(Res);
include/llvm/Analysis/ScalarEvolutionNormalization.h 50 typedef function_ref<bool(const SCEVAddRecExpr *)> NormalizePredTy;
include/llvm/Analysis/TargetTransformInfoImpl.h 662 return Ptr && isa<SCEVAddRecExpr>(Ptr);
669 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ptr);
669 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ptr);
include/llvm/Support/Casting.h 58 return To::classof(&Val);
77 return isa_impl<To, From>::doit(Val);
106 return isa_impl<To, From>::doit(*Val);
122 return isa_impl_wrap<To, SimpleFrom,
132 return isa_impl_cl<To,FromTy>::doit(Val);
142 return isa_impl_wrap<X, const Y,
176 using ret_type = const To *; // Constant pointer arg case, return const Ty*
198 using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
204 using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
210 To, From, typename simplify_type<From>::SimpleType>::ret_type;
227 static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
228 typename cast_retty<To, FromTy>::ret_type Res2
256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
265 return cast_convert_val<X, Y*,
337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
lib/Analysis/DependenceAnalysis.cpp 884 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Src);
884 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Src);
909 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Dst);
909 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Dst);
1027 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Bound)) {
1027 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Bound)) {
1049 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S)) {
1049 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S)) {
2158 const SCEVAddRecExpr *SrcAddRec = dyn_cast<SCEVAddRecExpr>(Src);
2158 const SCEVAddRecExpr *SrcAddRec = dyn_cast<SCEVAddRecExpr>(Src);
2159 const SCEVAddRecExpr *DstAddRec = dyn_cast<SCEVAddRecExpr>(Dst);
2159 const SCEVAddRecExpr *DstAddRec = dyn_cast<SCEVAddRecExpr>(Dst);
2235 const SCEVAddRecExpr *SrcAddRec = dyn_cast<SCEVAddRecExpr>(Src);
2235 const SCEVAddRecExpr *SrcAddRec = dyn_cast<SCEVAddRecExpr>(Src);
2236 const SCEVAddRecExpr *DstAddRec = dyn_cast<SCEVAddRecExpr>(Dst);
2236 const SCEVAddRecExpr *DstAddRec = dyn_cast<SCEVAddRecExpr>(Dst);
2246 if (const SCEVAddRecExpr *tmpAddRec =
2247 dyn_cast<SCEVAddRecExpr>(SrcAddRec->getStart())) {
2259 if (const SCEVAddRecExpr *tmpAddRec =
2260 dyn_cast<SCEVAddRecExpr>(DstAddRec->getStart())) {
2341 while (const SCEVAddRecExpr *AddRec =
2342 dyn_cast<SCEVAddRecExpr>(Coefficients)) {
2360 while (const SCEVAddRecExpr *AddRec =
2361 dyn_cast<SCEVAddRecExpr>(Coefficients)) {
2430 while (const SCEVAddRecExpr *AddRec =
2431 dyn_cast<SCEVAddRecExpr>(Coefficients)) {
2438 while (RunningGCD != 1 && isa<SCEVAddRecExpr>(Inner)) {
2439 AddRec = cast<SCEVAddRecExpr>(Inner);
2455 while (RunningGCD != 1 && isa<SCEVAddRecExpr>(Inner)) {
2456 AddRec = cast<SCEVAddRecExpr>(Inner);
2923 while (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Subscript)) {
2923 while (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Subscript)) {
2997 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr);
2997 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr);
3013 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr);
3013 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr);
3033 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr);
3033 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr);
3295 const SCEVAddRecExpr *SrcAR = dyn_cast<SCEVAddRecExpr>(SrcSCEV);
3295 const SCEVAddRecExpr *SrcAR = dyn_cast<SCEVAddRecExpr>(SrcSCEV);
3296 const SCEVAddRecExpr *DstAR = dyn_cast<SCEVAddRecExpr>(DstSCEV);
3296 const SCEVAddRecExpr *DstAR = dyn_cast<SCEVAddRecExpr>(DstSCEV);
lib/Analysis/IVDescriptors.cpp 914 const SCEVAddRecExpr *AR,
965 auto *AddRec = dyn_cast<SCEVAddRecExpr>(PSE.getSCEV(Val));
1002 const auto *AR = dyn_cast<SCEVAddRecExpr>(PhiScev);
1002 const auto *AR = dyn_cast<SCEVAddRecExpr>(PhiScev);
1040 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(PhiScev);
1040 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(PhiScev);
lib/Analysis/IVUsers.cpp 62 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
62 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
394 static const SCEVAddRecExpr *findAddRecForLoop(const SCEV *S, const Loop *L) {
395 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
395 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
403 if (const SCEVAddRecExpr *AR = findAddRecForLoop(Op, L))
412 if (const SCEVAddRecExpr *AR = findAddRecForLoop(getExpr(IU), L))
lib/Analysis/Loads.cpp 218 auto *AddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Ptr));
lib/Analysis/LoopAccessAnalysis.cpp 203 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Sc);
203 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Sc);
628 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(PtrScev);
628 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(PtrScev);
669 if (!Assume || !isa<SCEVAddRecExpr>(Expr))
943 static bool isNoWrapAddRec(Value *Ptr, const SCEVAddRecExpr *AR,
982 if (auto *OpAR = dyn_cast<SCEVAddRecExpr>(OpScev))
1006 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(PtrScev);
1006 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(PtrScev);
lib/Analysis/LoopCacheAnalysis.cpp 76 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(&AccessFn);
76 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(&AccessFn);
85 if (isa<SCEVAddRecExpr>(Start) || isa<SCEVAddRecExpr>(Step))
85 if (isa<SCEVAddRecExpr>(Start) || isa<SCEVAddRecExpr>(Step))
402 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LastSubscript);
402 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LastSubscript);
408 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(&Subscript);
408 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(&Subscript);
415 if (!isa<SCEVAddRecExpr>(Subscript))
418 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(&Subscript);
418 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(&Subscript);
lib/Analysis/LoopInfo.cpp 271 if (const SCEVAddRecExpr *StepAddRecExpr =
272 dyn_cast<SCEVAddRecExpr>(SE.getSCEV(&getStepInst())))
lib/Analysis/LoopUnrollAnalyzer.cpp 37 auto *AR = dyn_cast<SCEVAddRecExpr>(S);
lib/Analysis/ScalarEvolution.cpp 265 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(this);
265 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(this);
696 const SCEVAddRecExpr *LA = cast<SCEVAddRecExpr>(LHS);
696 const SCEVAddRecExpr *LA = cast<SCEVAddRecExpr>(LHS);
697 const SCEVAddRecExpr *RA = cast<SCEVAddRecExpr>(RHS);
697 const SCEVAddRecExpr *RA = cast<SCEVAddRecExpr>(RHS);
972 void visitAddRecExpr(const SCEVAddRecExpr *Numerator) {
1325 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) {
1325 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) {
1437 static const SCEV *getPreStartForExtend(const SCEVAddRecExpr *AR, Type *Ty,
1469 const SCEVAddRecExpr *PreAR = dyn_cast<SCEVAddRecExpr>(
1469 const SCEVAddRecExpr *PreAR = dyn_cast<SCEVAddRecExpr>(
1511 static const SCEV *getExtendAddRecStart(const SCEVAddRecExpr *AR, Type *Ty,
1582 const auto *PreAR =
1687 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op))
1687 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op))
2031 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op))
2031 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op))
2229 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op)) {
2229 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op)) {
2693 for (; Idx < Ops.size() && isa<SCEVAddRecExpr>(Ops[Idx]); ++Idx) {
2697 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ops[Idx]);
2697 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ops[Idx]);
2740 OtherIdx < Ops.size() && isa<SCEVAddRecExpr>(Ops[OtherIdx]);
2748 if (AddRecLoop == cast<SCEVAddRecExpr>(Ops[OtherIdx])->getLoop()) {
2752 for (; OtherIdx != Ops.size() && isa<SCEVAddRecExpr>(Ops[OtherIdx]);
2754 const auto *OtherAddRec = cast<SCEVAddRecExpr>(Ops[OtherIdx]);
2754 const auto *OtherAddRec = cast<SCEVAddRecExpr>(Ops[OtherIdx]);
2816 SCEVAddRecExpr *S =
2822 SCEVAddRecExpr(ID.Intern(SCEVAllocator), O, Ops.size(), L);
2983 } else if (const auto *AddRec = dyn_cast<SCEVAddRecExpr>(Ops[1])) {
2983 } else if (const auto *AddRec = dyn_cast<SCEVAddRecExpr>(Ops[1])) {
3031 for (; Idx < Ops.size() && isa<SCEVAddRecExpr>(Ops[Idx]); ++Idx) {
3035 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ops[Idx]);
3035 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ops[Idx]);
3090 OtherIdx != Ops.size() && isa<SCEVAddRecExpr>(Ops[OtherIdx]);
3092 const SCEVAddRecExpr *OtherAddRec =
3093 dyn_cast<SCEVAddRecExpr>(Ops[OtherIdx]);
3140 AddRec = dyn_cast<SCEVAddRecExpr>(NewAddRec);
3212 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHS))
3212 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHS))
3397 if (const SCEVAddRecExpr *StepChrec = dyn_cast<SCEVAddRecExpr>(Step))
3397 if (const SCEVAddRecExpr *StepChrec = dyn_cast<SCEVAddRecExpr>(Step))
3437 if (const SCEVAddRecExpr *NestedAR = dyn_cast<SCEVAddRecExpr>(Operands[0])) {
3437 if (const SCEVAddRecExpr *NestedAR = dyn_cast<SCEVAddRecExpr>(Operands[0])) {
3816 bool FoundAddRec = SCEVExprContains(S, isa<SCEVAddRecExpr, const SCEV *>);
4256 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) {
4297 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) {
4414 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) {
4434 ScalarEvolution::proveNoWrapViaConstantRanges(const SCEVAddRecExpr *AR) {
4816 if (const auto *AR = dyn_cast<SCEVAddRecExpr>(PHISCEV)) {
4816 if (const auto *AR = dyn_cast<SCEVAddRecExpr>(PHISCEV)) {
4936 const SCEVAddRecExpr *AR1, const SCEVAddRecExpr *AR2) const {
4936 const SCEVAddRecExpr *AR1, const SCEVAddRecExpr *AR2) const {
5075 (isa<SCEVAddRecExpr>(Accum) &&
5076 cast<SCEVAddRecExpr>(Accum)->getLoop() == L)) {
5196 const auto *ARLoop = cast<SCEVAddRecExpr>(S)->getLoop();
5479 if (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(S)) {
5479 if (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(S)) {
5647 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S)) {
5647 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S)) {
6018 if (auto *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) {
6314 if (const SCEVAddRecExpr *NewAR = dyn_cast<SCEVAddRecExpr>(S)) {
6314 if (const SCEVAddRecExpr *NewAR = dyn_cast<SCEVAddRecExpr>(S)) {
6315 const SCEVAddRecExpr *OldAR = cast<SCEVAddRecExpr>(LHS);
6315 const SCEVAddRecExpr *OldAR = cast<SCEVAddRecExpr>(LHS);
7399 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(LHS))
7399 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(LHS))
7479 EvaluateConstantChrecAtConstant(const SCEVAddRecExpr *AddRec, ConstantInt *C,
7536 const SCEVAddRecExpr *IdxExpr = dyn_cast<SCEVAddRecExpr>(Idx);
7536 const SCEVAddRecExpr *IdxExpr = dyn_cast<SCEVAddRecExpr>(Idx);
8305 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(V)) {
8305 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(V)) {
8325 AddRec = dyn_cast<SCEVAddRecExpr>(FoldedRec);
8442 GetQuadraticEquation(const SCEVAddRecExpr *AddRec) {
8542 SolveQuadraticAddRecExact(const SCEVAddRecExpr *AddRec, ScalarEvolution &SE) {
8574 SolveQuadraticAddRecRange(const SCEVAddRecExpr *AddRec,
8718 const SCEVAddRecExpr *AddRec =
8719 dyn_cast<SCEVAddRecExpr>(stripInjectiveFunctions(V));
8929 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(RHS)) {
8929 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(RHS)) {
9188 const SCEVAddRecExpr *LHS,
9195 bool ScalarEvolution::isMonotonicPredicate(const SCEVAddRecExpr *LHS,
9216 bool ScalarEvolution::isMonotonicPredicateImpl(const SCEVAddRecExpr *LHS,
9285 const SCEVAddRecExpr *ArLHS = dyn_cast<SCEVAddRecExpr>(LHS);
9285 const SCEVAddRecExpr *ArLHS = dyn_cast<SCEVAddRecExpr>(LHS);
9877 if (isa<SCEVAddRecExpr>(Less) && isa<SCEVAddRecExpr>(More)) {
9877 if (isa<SCEVAddRecExpr>(Less) && isa<SCEVAddRecExpr>(More)) {
9878 const auto *LAR = cast<SCEVAddRecExpr>(Less);
9878 const auto *LAR = cast<SCEVAddRecExpr>(Less);
9879 const auto *MAR = cast<SCEVAddRecExpr>(More);
9879 const auto *MAR = cast<SCEVAddRecExpr>(More);
9933 const auto *AddRecLHS = dyn_cast<SCEVAddRecExpr>(LHS);
9933 const auto *AddRecLHS = dyn_cast<SCEVAddRecExpr>(LHS);
9937 const auto *AddRecFoundLHS = dyn_cast<SCEVAddRecExpr>(FoundLHS);
9937 const auto *AddRecFoundLHS = dyn_cast<SCEVAddRecExpr>(FoundLHS);
10059 const SCEVAddRecExpr *RAR = dyn_cast<SCEVAddRecExpr>(RHS);
10059 const SCEVAddRecExpr *RAR = dyn_cast<SCEVAddRecExpr>(RHS);
10153 const SCEVAddRecExpr *LAR = dyn_cast<SCEVAddRecExpr>(LHS);
10153 const SCEVAddRecExpr *LAR = dyn_cast<SCEVAddRecExpr>(LHS);
10156 const SCEVAddRecExpr *RAR = dyn_cast<SCEVAddRecExpr>(RHS);
10156 const SCEVAddRecExpr *RAR = dyn_cast<SCEVAddRecExpr>(RHS);
10587 const SCEVAddRecExpr *IV = dyn_cast<SCEVAddRecExpr>(LHS);
10587 const SCEVAddRecExpr *IV = dyn_cast<SCEVAddRecExpr>(LHS);
10731 const SCEVAddRecExpr *IV = dyn_cast<SCEVAddRecExpr>(LHS);
10731 const SCEVAddRecExpr *IV = dyn_cast<SCEVAddRecExpr>(LHS);
10808 if (const auto *ShiftedAddRec = dyn_cast<SCEVAddRecExpr>(Shifted))
10808 if (const auto *ShiftedAddRec = dyn_cast<SCEVAddRecExpr>(Shifted))
10867 const SCEVAddRecExpr *
10888 return cast<SCEVAddRecExpr>(SE.getAddRecExpr(Ops, getLoop(),
10912 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S))
10912 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S))
10952 if (isa<SCEVAddRecExpr>(S)) {
11217 if (auto *AR = dyn_cast<SCEVAddRecExpr>(Expr))
11242 if (isa<SCEVAddRecExpr>(R)) {
11672 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(S);
11672 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(S);
11783 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(S);
11783 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(S);
11899 if (auto *AR = dyn_cast<SCEVAddRecExpr>(S))
12083 const SCEVAddRecExpr *AR,
12132 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Operand);
12132 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Operand);
12148 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Operand);
12148 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Operand);
12177 bool addOverflowAssumption(const SCEVAddRecExpr *AR,
12199 auto *AR = cast<const SCEVAddRecExpr>(WP->getExpr());
12221 const SCEVAddRecExpr *ScalarEvolution::convertSCEVToAddRecWithPredicates(
12226 auto *AddRec = dyn_cast<SCEVAddRecExpr>(S);
12269 const SCEVAddRecExpr *AR,
12301 SCEVWrapPredicate::getImpliedFlags(const SCEVAddRecExpr *AR,
12433 const auto *AR = cast<SCEVAddRecExpr>(Expr);
12433 const auto *AR = cast<SCEVAddRecExpr>(Expr);
12449 const auto *AR = cast<SCEVAddRecExpr>(Expr);
12449 const auto *AR = cast<SCEVAddRecExpr>(Expr);
12462 const SCEVAddRecExpr *PredicatedScalarEvolution::getAsAddRec(Value *V) {
lib/Analysis/ScalarEvolutionAliasAnalysis.cpp 100 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
100 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
lib/Analysis/ScalarEvolutionExpander.cpp 294 if (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(S)) {
294 if (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(S)) {
320 for (unsigned i = Ops.size(); i > 0 && isa<SCEVAddRecExpr>(Ops[i-1]); --i)
351 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Ops[i])) {
351 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Ops[i])) {
635 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S))
635 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S))
877 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Base)) {
877 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Base)) {
1097 const SCEVAddRecExpr *Phi,
1098 const SCEVAddRecExpr *Requested,
1107 Phi = dyn_cast<SCEVAddRecExpr>(SE.getTruncateOrNoop(Phi, RequestedTy));
1127 static bool IsIncrementNSW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) {
1141 static bool IsIncrementNUW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) {
1159 SCEVExpander::getAddRecExprPHILiterally(const SCEVAddRecExpr *Normalized,
1185 const SCEVAddRecExpr *PhiSCEV = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(&PN));
1185 const SCEVAddRecExpr *PhiSCEV = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(&PN));
1337 Value *SCEVExpander::expandAddRecExprLiterally(const SCEVAddRecExpr *S) {
1344 const SCEVAddRecExpr *Normalized = S;
1348 Normalized = cast<SCEVAddRecExpr>(normalizeForPostIncUse(S, Loops, SE));
1357 Normalized = cast<SCEVAddRecExpr>(
1377 cast<SCEVAddRecExpr>(SE.getAddRecExpr(
1485 Value *SCEVExpander::visitAddRecExpr(const SCEVAddRecExpr *S) {
1623 if (isa<SCEVAddRecExpr>(Ext))
1626 const SCEV *V = cast<SCEVAddRecExpr>(NewS)->evaluateAtIteration(IH, SE);
2238 Value *SCEVExpander::generateOverflowCheck(const SCEVAddRecExpr *AR,
2337 const auto *A = cast<SCEVAddRecExpr>(Pred->getExpr());
2337 const auto *A = cast<SCEVAddRecExpr>(Pred->getExpr());
2410 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
2410 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
lib/Analysis/ScalarEvolutionNormalization.cpp 42 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr);
47 NormalizeDenormalizeRewriter::visitAddRecExpr(const SCEVAddRecExpr *AR) {
lib/Analysis/StackSafetyAnalysis.cpp 40 if (!isa<SCEVAddRecExpr>(Expr) && !isa<SCEVAddExpr>(Expr) &&
lib/Analysis/VectorUtils.cpp 206 const SCEVAddRecExpr *S = dyn_cast<SCEVAddRecExpr>(V);
206 const SCEVAddRecExpr *S = dyn_cast<SCEVAddRecExpr>(V);
lib/Target/AArch64/AArch64FalkorHWPFFix.cpp 164 const SCEVAddRecExpr *LSCEVAddRec = dyn_cast<SCEVAddRecExpr>(LSCEV);
164 const SCEVAddRecExpr *LSCEVAddRec = dyn_cast<SCEVAddRecExpr>(LSCEV);
lib/Target/AArch64/AArch64TargetTransformInfo.cpp 739 const SCEVAddRecExpr *LSCEVAddRec = dyn_cast<SCEVAddRecExpr>(LSCEV);
739 const SCEVAddRecExpr *LSCEVAddRec = dyn_cast<SCEVAddRecExpr>(LSCEV);
lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp 143 int getSCEVStride(const SCEVAddRecExpr *StoreEv);
1907 int HexagonLoopIdiomRecognize::getSCEVStride(const SCEVAddRecExpr *S) {
1929 auto *StoreEv = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr));
1951 auto *LoadEv = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(LoadPtr));
2014 auto *StoreEv = cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr));
2024 auto *LoadEv = cast<SCEVAddRecExpr>(SE->getSCEV(LI->getPointerOperand()));
lib/Target/PowerPC/PPCLoopPreIncPrep.cpp 270 const SCEVAddRecExpr *LARSCEV = dyn_cast<SCEVAddRecExpr>(LSCEV);
270 const SCEVAddRecExpr *LARSCEV = dyn_cast<SCEVAddRecExpr>(LSCEV);
329 const SCEVAddRecExpr *BasePtrSCEV =
330 cast<SCEVAddRecExpr>(BucketChain.BaseSCEV);
515 const SCEVAddRecExpr *PHIBasePtrSCEV = dyn_cast<SCEVAddRecExpr>(PHISCEV);
515 const SCEVAddRecExpr *PHIBasePtrSCEV = dyn_cast<SCEVAddRecExpr>(PHISCEV);
582 const SCEVAddRecExpr *LARSCEV = dyn_cast<SCEVAddRecExpr>(LSCEV);
582 const SCEVAddRecExpr *LARSCEV = dyn_cast<SCEVAddRecExpr>(LSCEV);
lib/Transforms/Scalar/AlignmentFromAssumptions.cpp 148 } else if (const SCEVAddRecExpr *DiffARSCEV =
149 dyn_cast<SCEVAddRecExpr>(DiffSCEV)) {
lib/Transforms/Scalar/IndVarSimplify.cpp 654 if (auto *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Inst)))
1043 Instruction *cloneIVUser(NarrowIVDefUse DU, const SCEVAddRecExpr *WideAR);
1045 const SCEVAddRecExpr *WideAR);
1050 using WidenedRecTy = std::pair<const SCEVAddRecExpr *, ExtendKind>;
1088 const SCEVAddRecExpr *WideAR) {
1140 const SCEVAddRecExpr *WideAR) {
1293 const SCEVAddRecExpr *AddRec =
1294 dyn_cast<SCEVAddRecExpr>(getSCEVByOpCode(lhs, rhs, OpCode));
1323 if (isa<SCEVAddRecExpr>(WideExpr))
1336 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(WideExpr);
1336 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(WideExpr);
1453 const SCEVAddRecExpr *AddRecOp1 = dyn_cast<SCEVAddRecExpr>(Op1);
1453 const SCEVAddRecExpr *AddRecOp1 = dyn_cast<SCEVAddRecExpr>(Op1);
1727 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(OrigPhi));
1727 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(OrigPhi));
1740 AddRec = dyn_cast<SCEVAddRecExpr>(WideIVExpr);
2227 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Phi));
2227 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Phi));
2270 const auto *AR = cast<SCEVAddRecExpr>(SE->getSCEV(Phi));
2270 const auto *AR = cast<SCEVAddRecExpr>(SE->getSCEV(Phi));
2335 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IndVar));
2335 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IndVar));
2465 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IncVar));
2465 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IncVar));
3082 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(ExitCount);
3082 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(ExitCount);
lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp 215 const SCEVAddRecExpr *IndVar,
361 const auto *IndexAddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Index));
361 const auto *IndexAddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Index));
803 if (!isa<SCEVAddRecExpr>(LeftSCEV)) {
804 if (isa<SCEVAddRecExpr>(RightSCEV)) {
822 const SCEVAddRecExpr *ExtendAfterOp =
823 dyn_cast<SCEVAddRecExpr>(SE.getSignExtendExpr(AR, WideTy));
843 const SCEVAddRecExpr *IndVarBase = cast<SCEVAddRecExpr>(LeftSCEV);
843 const SCEVAddRecExpr *IndVarBase = cast<SCEVAddRecExpr>(LeftSCEV);
1567 ScalarEvolution &SE, const SCEVAddRecExpr *IndVar,
1830 const SCEVAddRecExpr *IndVar =
1831 cast<SCEVAddRecExpr>(SE.getMinusSCEV(SE.getSCEV(LS.IndVarBase), SE.getSCEV(LS.IndVarStep)));
lib/Transforms/Scalar/LoopDataPrefetch.cpp 75 bool isStrideLargeEnough(const SCEVAddRecExpr *AR);
140 bool LoopDataPrefetch::isStrideLargeEnough(const SCEVAddRecExpr *AR) {
250 SmallVector<std::pair<Instruction *, const SCEVAddRecExpr *>, 16> PrefLoads;
273 const SCEVAddRecExpr *LSCEVAddRec = dyn_cast<SCEVAddRecExpr>(LSCEV);
273 const SCEVAddRecExpr *LSCEVAddRec = dyn_cast<SCEVAddRecExpr>(LSCEV);
lib/Transforms/Scalar/LoopFuse.cpp 846 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) {
907 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S);
907 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S);
lib/Transforms/Scalar/LoopIdiomRecognize.cpp 207 const SCEVAddRecExpr *Ev, const SCEV *BECount,
422 static APInt getStoreStride(const SCEVAddRecExpr *StoreEv) {
500 const SCEVAddRecExpr *StoreEv =
501 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr));
559 const SCEVAddRecExpr *LoadEv =
560 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(LI->getPointerOperand()));
677 const SCEVAddRecExpr *FirstStoreEv =
678 cast<SCEVAddRecExpr>(SE->getSCEV(FirstStorePtr));
713 const SCEVAddRecExpr *SecondStoreEv =
714 cast<SCEVAddRecExpr>(SE->getSCEV(SecondStorePtr));
784 const SCEVAddRecExpr *StoreEv = cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr));
784 const SCEVAddRecExpr *StoreEv = cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr));
821 const SCEVAddRecExpr *Ev = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Pointer));
821 const SCEVAddRecExpr *Ev = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Pointer));
943 SmallPtrSetImpl<Instruction *> &Stores, const SCEVAddRecExpr *Ev,
1060 const SCEVAddRecExpr *StoreEv = cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr));
1060 const SCEVAddRecExpr *StoreEv = cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr));
1072 const SCEVAddRecExpr *LoadEv =
1073 cast<SCEVAddRecExpr>(SE->getSCEV(LI->getPointerOperand()));
2039 const auto *ScevForSrcA = dyn_cast<SCEVAddRecExpr>(
2039 const auto *ScevForSrcA = dyn_cast<SCEVAddRecExpr>(
2041 const auto *ScevForSrcB = dyn_cast<SCEVAddRecExpr>(
2041 const auto *ScevForSrcB = dyn_cast<SCEVAddRecExpr>(
lib/Transforms/Scalar/LoopInterchange.cpp 307 const SCEVAddRecExpr *AddRec =
308 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(PhiVar));
1040 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(OperandVal);
1040 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(OperandVal);
lib/Transforms/Scalar/LoopLoadElimination.cpp 119 auto *LoadPtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(LoadPtr));
120 auto *StorePtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(StorePtr));
432 auto *PtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(Ptr));
lib/Transforms/Scalar/LoopPredication.cpp 237 const SCEVAddRecExpr *IV;
239 LoopICmp(ICmpInst::Predicate Pred, const SCEVAddRecExpr *IV,
382 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHSS);
382 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHSS);
477 NewLatchCheck.IV = dyn_cast<SCEVAddRecExpr>(
lib/Transforms/Scalar/LoopRerollPass.cpp 582 if (const SCEVAddRecExpr *PHISCEV =
583 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(&*I))) {
891 const auto *ADR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(DRS.BaseInst));
891 const auto *ADR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(DRS.BaseInst));
916 const auto *IVU_ADR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(IVU));
916 const auto *IVU_ADR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(IVU));
1428 const SCEVAddRecExpr *IVSCEV =
1429 cast<SCEVAddRecExpr>(SE->getSCEV(DRS.BaseInst));
lib/Transforms/Scalar/LoopStrengthReduce.cpp 407 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S))
407 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S))
475 const SCEVAddRecExpr *SAR = dyn_cast<const SCEVAddRecExpr>(ScaledReg);
475 const SCEVAddRecExpr *SAR = dyn_cast<const SCEVAddRecExpr>(ScaledReg);
484 return isa<const SCEVAddRecExpr>(S) &&
485 (cast<SCEVAddRecExpr>(S)->getLoop() == &L);
513 const SCEVAddRecExpr *SAR = dyn_cast<const SCEVAddRecExpr>(ScaledReg);
513 const SCEVAddRecExpr *SAR = dyn_cast<const SCEVAddRecExpr>(ScaledReg);
517 return isa<const SCEVAddRecExpr>(S) &&
518 (cast<SCEVAddRecExpr>(S)->getLoop() == &L);
630 static bool isAddRecSExtable(const SCEVAddRecExpr *AR, ScalarEvolution &SE) {
633 return isa<SCEVAddRecExpr>(SE.getSignExtendExpr(AR, WideTy));
690 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHS)) {
690 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHS)) {
757 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
757 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
783 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
783 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
883 static bool isExistingPhi(const SCEVAddRecExpr *AR, ScalarEvolution &SE) {
955 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
955 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
1220 if (const auto *S = dyn_cast<SCEVAddRecExpr>(Reg))
1220 if (const auto *S = dyn_cast<SCEVAddRecExpr>(Reg))
1238 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Reg)) {
1238 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Reg)) {
2116 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(PH));
2116 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(PH));
2301 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(IV);
2301 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(IV);
2666 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
2666 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
2725 if (const SCEVAddRecExpr *AR =
2726 dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Oper))) {
2794 return getExprBase(cast<SCEVAddRecExpr>(S)->getStart());
2958 if (!isa<SCEVAddRecExpr>(LastIncExpr))
3502 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
3502 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) {
3511 if (Remainder && (AR->getLoop() == L || !isa<SCEVAddRecExpr>(Remainder))) {
3549 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S);
3549 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S);
3814 if (auto *GAR = dyn_cast<SCEVAddRecExpr>(G)) {
3993 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Base.BaseRegs[i]);
3993 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Base.BaseRegs[i]);
4770 if (isa<SCEVAddRecExpr>(BaseReg))
4778 if (isa<SCEVAddRecExpr>(ScaledReg))
lib/Transforms/Utils/LoopUnrollPeel.cpp 204 if (!isa<SCEVAddRecExpr>(LeftSCEV)) {
205 if (isa<SCEVAddRecExpr>(RightSCEV)) {
212 const SCEVAddRecExpr *LeftAR = cast<SCEVAddRecExpr>(LeftSCEV);
212 const SCEVAddRecExpr *LeftAR = cast<SCEVAddRecExpr>(LeftSCEV);
lib/Transforms/Utils/SimplifyIndVar.cpp 833 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S);
833 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S);
tools/polly/include/polly/Support/SCEVAffinator.h 104 PWACtx visitAddRecExpr(const llvm::SCEVAddRecExpr *E);
tools/polly/lib/Analysis/ScopDetection.cpp 872 if (auto *AF2 = dyn_cast<SCEVAddRecExpr>(Op))
tools/polly/lib/Analysis/ScopInfo.cpp 1402 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *E) {
1436 if (auto *AddRec = dyn_cast<SCEVAddRecExpr>(E)) {
tools/polly/lib/Support/SCEVAffinator.cpp 169 auto *AddRec = dyn_cast<SCEVAddRecExpr>(CachedPair.first.first);
387 PWACtx SCEVAffinator::visitAddRecExpr(const SCEVAddRecExpr *Expr) {
tools/polly/lib/Support/SCEVValidator.cpp 227 class ValidatorResult visitAddRecExpr(const SCEVAddRecExpr *Expr) {
538 if (auto AddRec = dyn_cast<SCEVAddRecExpr>(S)) {
564 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S))
564 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S))
719 auto *AddRec = dyn_cast<SCEVAddRecExpr>(S);
tools/polly/lib/Support/ScopHelper.cpp 385 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *E) {
unittests/Analysis/ScalarEvolutionTest.cpp 537 auto *S0 = cast<SCEVAddRecExpr>(SE.getSCEV(&I0));
544 auto *S1 = cast<SCEVAddRecExpr>(SE.getSCEV(&I1));
1188 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(S);
1188 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(S);
1901 return cast<SCEVAddRecExpr>(SE.getAddRecExpr(Ops, L, SCEV::FlagAnyWrap));
1912 return cast<SCEVAddRecExpr>(SE.getAddRecExpr(Ops, L, SCEV::FlagAnyWrap));
1923 return cast<SCEVAddRecExpr>(SE.getAddRecExpr(Ops, L, SCEV::FlagAnyWrap));
utils/unittest/googletest/include/gtest/gtest-message.h 116 inline Message& operator <<(const T& val) {
utils/unittest/googletest/include/gtest/internal/custom/raw-ostream.h 35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
37 return StreamSwitch<T>::printable(V);
54 const T& V;
55 friend std::ostream &operator<<(std::ostream &S, const RawStreamProxy<T> &V) {
69 static const RawStreamProxy<T> printable(const T &V) { return {V}; }
69 static const RawStreamProxy<T> printable(const T &V) { return {V}; }