aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/SourceManager.cpp
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2025-10-29 11:25:46 -0700
committerGitHub <noreply@github.com>2025-10-29 18:25:46 +0000
commit98d3a25f7431563b9eb49101b89e5b370b7d71ec (patch)
treeeaf15e499cb9225d3fa08b6c7240fb3a66d5b8b6 /clang/lib/Basic/SourceManager.cpp
parentd87c80bd46d9dc761b048cad48838a039cff214a (diff)
downloadllvm-98d3a25f7431563b9eb49101b89e5b370b7d71ec.zip
llvm-98d3a25f7431563b9eb49101b89e5b370b7d71ec.tar.gz
llvm-98d3a25f7431563b9eb49101b89e5b370b7d71ec.tar.bz2
[VPlan] Don't preserve LCSSA in expandSCEVs. (#165505)
This follows similar reasoning as 45ce88758d24 (https://github.com/llvm/llvm-project/pull/159556): LV does not preserve LCSSA, it constructs it just before processing a loop to vectorize. Runtime check expressions are invariant to that loop, so expanding them should not break LCSSA form for the loop we are about to vectorize. LV creates SCEV and memory runtime checks early on and then disconnects the blocks temporarily. The patch fixes a mis-compile, where previously LCSSA construction during SCEV expand may replace uses in currently unreachable SCEV/memory check blocks. Fixes https://github.com/llvm/llvm-project/issues/162512 PR: https://github.com/llvm/llvm-project/pull/165505
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
0 files changed, 0 insertions, 0 deletions