Skip to content

Change scope nested CFG passes to use a stack instead of recursion#8227

Open
jenatali wants to merge 3 commits intomicrosoft:mainfrom
jenatali:scope-nested-fix
Open

Change scope nested CFG passes to use a stack instead of recursion#8227
jenatali wants to merge 3 commits intomicrosoft:mainfrom
jenatali:scope-nested-fix

Conversation

@jenatali
Copy link
Copy Markdown
Member

@jenatali jenatali commented Mar 5, 2026

Fixes #8224

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 5, 2026

✅ With the latest revision this PR passed the C/C++ code formatter.

Copy link
Copy Markdown
Collaborator

@llvm-beanz llvm-beanz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This does not conform to our coding standards some obvious violations include:

@github-project-automation github-project-automation bot moved this from New to In progress in HLSL Roadmap Mar 5, 2026
Copy link
Copy Markdown
Collaborator

@llvm-beanz llvm-beanz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the cleanups! I just have two small nits, otherwise this looks good to me.

Co-authored-by: Chris B <beanz@abolishcrlf.org>
(*ReachableBBs) |= (*BTO.GetReachableBBs(pSuccBB));
}
if (PushedChild)
continue;
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't wrap my mind around how this is logically equivalent to the previous code, this looks like a behavioral change. Lines 1054-1074 here are the only lines I can't see the equivalent iterative translation for. Can you explain why we continue here? Maybe that would help explain the previous lines to me also. Other than those lines, this change looks good to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

ScopeNestedCFG pass stack overflow in large shaders with debug builds

3 participants