Skip to content

Commit 2b22e9b

Browse files
authored
[SPIRV] Use a worklist in the post-legalizer (#165027)
This commit refactors the SPIRV post-legalizer to use a worklist to process new instructions. Previously, the post-legalizer would iterate through all instructions and try to assign types. This could fail if a new instruction depended on another new instruction that had not been processed yet. The new implementation adds all new instructions that require a SPIR-V type to a worklist. It then iteratively processes the worklist until it is empty. This ensures that all dependencies are met before an instruction is processed. This change makes the post-legalizer more robust and fixes potential ordering issues with newly generated instructions. Existing tests cover existing functionality. More tests will be added as the legalizer is modified. Part of #153091
1 parent 8c674f0 commit 2b22e9b

File tree

1 file changed

+302
-68
lines changed

1 file changed

+302
-68
lines changed

0 commit comments

Comments
 (0)