diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2014-01-24 02:24:47 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2014-01-24 02:24:47 +0000 |
commit | 4296ce566202cf00ba2beeb3344db0ea20af0e6f (patch) | |
tree | 85a39df99b2ceb1cc45835273f8910c586084e2a /lib/MC/WinCOFFStreamer.cpp | |
parent | 5950c6fa48fe607e253afab421fa286f5f8e44bf (diff) | |
download | llvm-4296ce566202cf00ba2beeb3344db0ea20af0e6f.tar.gz llvm-4296ce566202cf00ba2beeb3344db0ea20af0e6f.tar.bz2 llvm-4296ce566202cf00ba2beeb3344db0ea20af0e6f.tar.xz |
[LPM] Fix a logic error in LICM spotted by inspection.
We completely skipped promotion in LICM if the loop has a preheader or
dedicated exits, but not *both*. We hoist if there is a preheader, and
sink if there are dedicated exits, but either hoisting or sinking can
move loop invariant code out of the loop!
I have no idea if this has a practical consequence. If anyone has ideas
for a test case, let me know.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199966 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/WinCOFFStreamer.cpp')
0 files changed, 0 insertions, 0 deletions