diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-08-06 00:01:56 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-08-06 00:01:56 +0000 |
commit | cf181867a6f9b36f29d95930486382257626ae0f (patch) | |
tree | ff839036ba80163f9af9be6846fdd8101b7ee8e7 /llvm/lib/Transforms | |
parent | bbe3288b06230eaadd17d4adad16efcdf766ed24 (diff) | |
download | bcm5719-llvm-cf181867a6f9b36f29d95930486382257626ae0f.tar.gz bcm5719-llvm-cf181867a6f9b36f29d95930486382257626ae0f.zip |
[IRCE] Preserve loop-simplify form
Fixes PR28764. Right now there is no way to test this, but (as
mentioned on the PR) with Michael Zolotukhin's yet to be checked in
LoopSimplify verfier, 8 of the llvm-lit tests for IRCE crash.
llvm-svn: 277891
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r-- | llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp b/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp index 3226efb86d2..4cbf2112e1e 100644 --- a/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp +++ b/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp @@ -66,6 +66,7 @@ #include "llvm/Transforms/Utils/Cloning.h" #include "llvm/Transforms/Utils/LoopUtils.h" #include "llvm/Transforms/Utils/SimplifyIndVar.h" +#include "llvm/Transforms/Utils/LoopSimplify.h" #include "llvm/Transforms/Utils/UnrollLoop.h" using namespace llvm; @@ -1278,6 +1279,7 @@ bool LoopConstrainer::run() { DT.recalculate(F); formLCSSARecursively(OriginalLoop, DT, &LI, &SE); + simplifyLoop(&OriginalLoop, &DT, &LI, &SE, nullptr, true); return true; } |