diff options
author | Nikita Popov <npopov@redhat.com> | 2024-09-17 15:33:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-17 15:33:23 +0200 |
commit | 34e16b6b9c8628e562e237aaa9a3bc2625980ca1 (patch) | |
tree | 1dfcb1551918126852631f6615ec4a2ea2b043df /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 8e2dbab24276a8521d241463b4161c78bc4d39d2 (diff) | |
download | llvm-34e16b6b9c8628e562e237aaa9a3bc2625980ca1.zip llvm-34e16b6b9c8628e562e237aaa9a3bc2625980ca1.tar.gz llvm-34e16b6b9c8628e562e237aaa9a3bc2625980ca1.tar.bz2 |
[IndVars] Fix strict weak ordering violation (#108947)
The sort used the block name as a tie-breaker, which will not work for
unnamed blocks and can result in a strict weak ordering violation.
Fix this by checking that all exiting blocks dominate the latch first,
which means that we have a total dominance order. This makes the code
structure here align with what optimizeLoopExits() does.
Fixes https://github.com/llvm/llvm-project/issues/108618.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions