diff options
author | John Brawn <john.brawn@arm.com> | 2019-01-04 17:12:09 +0000 |
---|---|---|
committer | John Brawn <john.brawn@arm.com> | 2019-01-04 17:12:09 +0000 |
commit | 39ac159c24b5c0ae37506d1588321bebf429c973 (patch) | |
tree | 8988081ca6579f7eb5993fb8b5f2c8d52ec00cc6 /clang/lib/Frontend/FrontendOptions.cpp | |
parent | 2b506d9fe92bebe34f4954e737d63fcad0f46794 (diff) | |
download | llvm-39ac159c24b5c0ae37506d1588321bebf429c973.zip llvm-39ac159c24b5c0ae37506d1588321bebf429c973.tar.gz llvm-39ac159c24b5c0ae37506d1588321bebf429c973.tar.bz2 |
[LICM] Adjust how moving the re-hoist point works
In some cases the order that we hoist instructions in means that when rehoisting
(which uses the same order as hoisting) we can rehoist to a block A, then a
block B, then block A again. This currently causes an assertion failure as it
expects that when changing the hoist point it only ever moves to a block that
dominates the hoist point being moved from.
Fix this by moving the re-hoist point when it doesn't dominate the dominator of
hoisted instruction, or in other words when it wouldn't dominate the uses of
the instruction being rehoisted.
Differential Revision: https://reviews.llvm.org/D55266
llvm-svn: 350408
Diffstat (limited to 'clang/lib/Frontend/FrontendOptions.cpp')
0 files changed, 0 insertions, 0 deletions