[llvm] [Analysis] Visit orphan Functions in CGPassManager catch-up loop (PR #194219)
Janek van Oirschot via llvm-commits
llvm-commits at lists.llvm.org
Tue May 5 10:37:52 PDT 2026
JanekvO wrote:
> Crashes and miscompiles on targets based on scheduling a ModulePass after the CGSCC section or not do
Sorry, I'm not sure I completely understand the end of this sentence
> Enabling/disabling IPRA changes only register allocation strategy and not if orphan functions are emitted on certain platforms.
I know what you're suggestion with this sentence but as a nit: enabling IPRA does enforce CGSCC ordering which visibly changes emit ordering in asm
> No binary performance impact when optimization levels are enabled due to later stripping stages and no impact on debug code generation since it already generates everything.
I probably have missed it; but what are the stripping stages?
> I did it slightly different since I didn’t want to impact other passes
Forgive my ignorance but, what impact would this have? In my naive view, with the false-as-default, wouldn't that have no impact on any other uses of scc_iterator?
> I believe this can break at any point when CGSCCPass and another ModulePass is used in the backend.
Might've been a AMDGPU-ism at the time, I recall some DCE removing uncalled internal/private functions
https://github.com/llvm/llvm-project/pull/194219
More information about the llvm-commits
mailing list