[all-commits] [llvm/llvm-project] 78f0af: [SimplifyCFG][swifterror] Don't sink calls with sw...
Ellis Hoag via All-commits
all-commits at lists.llvm.org
Mon May 12 14:37:48 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 78f0af5d895be284e4f7448fed007a04ee6a35d4
https://github.com/llvm/llvm-project/commit/78f0af5d895be284e4f7448fed007a04ee6a35d4
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/hoist-sink-swifterror-store.ll
Log Message:
-----------
[SimplifyCFG][swifterror] Don't sink calls with swifterror params (#139015)
We've encountered an LLVM verification failure when building Swift with
the SimplifyCFG pass enabled. I found that
https://reviews.llvm.org/D158083 fixed this pass by preventing sinking
loads or stores of swifterror values, but it did not implement the same
protection for call or invokes.
In `Verifier.cpp`
[here](https://github.com/ellishg/llvm-project/blob/c68535581135a1513c9c4c1c7672307d4b5e616e/llvm/lib/IR/Verifier.cpp#L4360-L4364)
and
[here](https://github.com/ellishg/llvm-project/blob/c68535581135a1513c9c4c1c7672307d4b5e616e/llvm/lib/IR/Verifier.cpp#L3661-L3662)
we can see that swifterror values must also be used directly by call
instructions.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list