Skip to content

Conversation

@adrian-prantl
Copy link
Contributor

Wihtout this change an alloc_stack instruction that is defined in a different basic block than its use could result in instructions that are not dominated by its operands. In an asserts build this is caught by the SIL verifier, but in a non-asserts build it can crash the compiler.

Thanks to Erik Eckstein for the actual implementation of the fix!

rdar://168622625
(cherry picked from commit d7ca648)

Explanation: Fix a crash in IRGen causes by an incorrect SIL analysis
Scope: TempRValueElimination pass
Issues: rdar://168622625
Original PRs: #86902
Risk: changes SIL generation
Testing: regression test
Reviewers: @eeckstein

Wihtout this change an alloc_stack instruction that is defined in a different
basic block than its use could result in instructions that are not dominated by
its operands. In an asserts build this is caught by the SIL verifier, but in a
non-asserts build it can crash the compiler.

Thanks to Erik Eckstein for the actual implementation of the fix!

rdar://168622625
(cherry picked from commit d7ca648)
@adrian-prantl adrian-prantl requested a review from a team as a code owner January 30, 2026 22:31
@adrian-prantl
Copy link
Contributor Author

@swift-ci test

@adrian-prantl
Copy link
Contributor Author

@swift-ci test macOS

@adrian-prantl adrian-prantl merged commit f36a347 into swiftlang:release/6.3 Feb 2, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants