diff options
author | Philip Reames <listmail@philipreames.com> | 2017-10-31 05:16:46 +0000 |
---|---|---|
committer | Philip Reames <listmail@philipreames.com> | 2017-10-31 05:16:46 +0000 |
commit | 59bf1e0548460364e96f168bef5fcd66a98d54cb (patch) | |
tree | 755f7c3b12fadce6442f28506c9344f65ae01c6a /llvm/lib/Analysis/CaptureTracking.cpp | |
parent | 488ec975bb418cc3fd230a9acdfdb1effc61670e (diff) | |
download | bcm5719-llvm-59bf1e0548460364e96f168bef5fcd66a98d54cb.tar.gz bcm5719-llvm-59bf1e0548460364e96f168bef5fcd66a98d54cb.zip |
[IndVarSimplify] Simplify code using preheader assumption
As noted in the nice block comment, the previous code didn't actually handle multi-entry loops correctly, it just assumed SCEV didn't analyze such loops. Given SCEV has comments to the contrary, that seems a bit suspect. More importantly, the pass actually requires loopsimplify form which ensures a loop-preheader is available. Remove the excessive generaility and shorten the code greatly.
Note that we do successfully analyze many multi-entry loops, but we do so by converting them to single entry loops. See the added test case.
llvm-svn: 316976
Diffstat (limited to 'llvm/lib/Analysis/CaptureTracking.cpp')
0 files changed, 0 insertions, 0 deletions