Skip to content

🍒 [5.9][Constant Evaluator] Enable SILConstants::setIndexedElement function to work with aggregates containing unknown values #65770

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 9, 2023

Conversation

ravikandhadai
Copy link
Contributor

@ravikandhadai ravikandhadai commented May 8, 2023

Such aggregates can be generated when an instruction is skipped during constant evaluation and its results are used to create a struct.

Original PR

Explanation: Compiler can crashes in passes using constant evaluator when evaluation encounters certain SIMD types.
Scope: Swift programs that use SIMD instructions along with the os_log APIs.
Risk: Low, this changes relaxes an assertion in an internal function of constant evaluator and instead returns an error in such cases, which is already gracefully handled by the constant evaluator.
Testing: Swift and SIL LIT tests. This PR landed in main for a while.
Reviewers: @matthewseaman and @kulpreetchilana

rdar://107344820

…tion

to work with aggregates containing unknown values. Such aggregates
can be generated when an instruction is skipped during constant
evaluation and its results are used to create a struct.
@ravikandhadai ravikandhadai requested a review from a team as a code owner May 8, 2023 17:50
@ravikandhadai
Copy link
Contributor Author

@swift-ci please smoke test

@ravikandhadai
Copy link
Contributor Author

@swift-ci please test

@ravikandhadai ravikandhadai merged commit 830ea2d into swiftlang:release/5.9 May 9, 2023
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.

2 participants