diff options
author | Florian Hahn <flo@fhahn.com> | 2023-07-07 11:06:30 +0100 |
---|---|---|
committer | Florian Hahn <flo@fhahn.com> | 2023-07-07 11:06:30 +0100 |
commit | 4d847bf4d06589ff90648f3857ae73a12950d16c (patch) | |
tree | 9cc63cbec43cfab4d96160e7cd06269ea825c85b /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | fc9821a877d4e1443603d67539e4369b3ec72890 (diff) | |
download | llvm-4d847bf4d06589ff90648f3857ae73a12950d16c.zip llvm-4d847bf4d06589ff90648f3857ae73a12950d16c.tar.gz llvm-4d847bf4d06589ff90648f3857ae73a12950d16c.tar.bz2 |
[LV] Do not add load to group if it moves across conflicting store.
This patch prevents invalid load groups from being formed, where a load
needs to be moved across a conflicting store.
Once we hit a store that conflicts with a load with an existing
interleave group, we need to stop adding earlier loads to the group, as
this would force hoisting the previous stores in the group across the
conflicting load.
To detect such cases, add a new CompletedLoadGroups set, which is used
to keep track of load groups to which no earlier loads can be added.
Fixes https://github.com/llvm/llvm-project/issues/63602
Reviewed By: anna
Differential Revision: https://reviews.llvm.org/D154309
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions