Skip to content
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

[SPIR-V] Switch operands might depends on pointer allocation pattern #94961

Closed
Keenuts opened this issue Jun 10, 2024 · 1 comment · Fixed by #95001
Closed

[SPIR-V] Switch operands might depends on pointer allocation pattern #94961

Keenuts opened this issue Jun 10, 2024 · 1 comment · Fixed by #95001
Assignees
Labels
backend:SPIR-V bug Indicates an unexpected problem or unintended behavior

Comments

@Keenuts
Copy link
Contributor

Keenuts commented Jun 10, 2024

By adding #92531, I added a new potential source or test flakiness: seems like the order of the switch operands might depend on a SmallPtrSet, hence on memory allocation pattern.

@Keenuts Keenuts added bug Indicates an unexpected problem or unintended behavior SPIR-V SPIR-V language support labels Jun 10, 2024
@Keenuts Keenuts self-assigned this Jun 10, 2024
@llvmbot
Copy link
Collaborator

llvmbot commented Jun 10, 2024

@llvm/issue-subscribers-bug

Author: Nathan Gauër (Keenuts)

By adding https://github.com//pull/92531, I added a new potential source or test flakiness: seems like the order of the switch operands might depend on a SmallPtrSet, hence on memory allocation pattern.

Keenuts added a commit that referenced this issue Jun 11, 2024
The case-list of the switches generated by this pass were not
"deterministic" (based on allocation patterns).
This is because the CaseList order relied on an unordered_set order.
Using the sorted exit target list for those should solve the problem.

Fixes #94961

Signed-off-by: Nathan Gauër <brioche@google.com>
@EugeneZelenko EugeneZelenko added backend:SPIR-V and removed SPIR-V SPIR-V language support labels Jun 11, 2024
Lukacma pushed a commit to Lukacma/llvm-project that referenced this issue Jun 12, 2024
The case-list of the switches generated by this pass were not
"deterministic" (based on allocation patterns).
This is because the CaseList order relied on an unordered_set order.
Using the sorted exit target list for those should solve the problem.

Fixes llvm#94961

Signed-off-by: Nathan Gauër <brioche@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend:SPIR-V bug Indicates an unexpected problem or unintended behavior
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants