[PATCH] D87890: [SCEV] Handle `less` predicates for FoundPred = NE
Max Kazantsev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 22 04:57:14 PDT 2020
This revision was automatically updated to reflect the committed changes.
Closed by commit rGe2703c021d84: [SCEV] Handle `less` predicates for FoundPred = NE (authored by mkazantsev).
Changed prior to commit:
https://reviews.llvm.org/D87890?vs=292721&id=293416#toc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D87890/new/
https://reviews.llvm.org/D87890
Files:
llvm/lib/Analysis/ScalarEvolution.cpp
Index: llvm/lib/Analysis/ScalarEvolution.cpp
===================================================================
--- llvm/lib/Analysis/ScalarEvolution.cpp
+++ llvm/lib/Analysis/ScalarEvolution.cpp
@@ -9758,8 +9758,23 @@
if (isImpliedCondOperands(Pred, LHS, RHS, V, getConstant(Min)))
return true;
+ break;
+
+ // `LHS < RHS` and `LHS <= RHS` are handled in the same way as `RHS > LHS` and `RHS >= LHS` respectively.
+ case ICmpInst::ICMP_SLE:
+ case ICmpInst::ICMP_ULE:
+ if (isImpliedCondOperands(CmpInst::getSwappedPredicate(Pred), RHS,
+ LHS, V, getConstant(SharperMin)))
+ return true;
LLVM_FALLTHROUGH;
+ case ICmpInst::ICMP_SLT:
+ case ICmpInst::ICMP_ULT:
+ if (isImpliedCondOperands(CmpInst::getSwappedPredicate(Pred), RHS,
+ LHS, V, getConstant(Min)))
+ return true;
+ break;
+
default:
// No change
break;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D87890.293416.patch
Type: text/x-patch
Size: 1048 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200922/91d92755/attachment-0001.bin>
More information about the llvm-commits
mailing list