Change theme
Help
Press space for more information.
Show links for this issue (Shortcut: i, l)
Copy issue ID
Previous Issue (Shortcut: k)
Next Issue (Shortcut: j)
Sign in to use full features.
Vote: I am impacted
Notification menu
Refresh (Shortcut: Shift+r)
Go home (Shortcut: u)
Pending code changes (auto-populated)
Maintained by go/gitwatcher - Please do not modify manually [ID: 530458]
Maintained by go/gitwatcher - Please do not modify manually [ID: 530406]
View issue level access limits(Press Alt + Right arrow for more information)
Request for new functionality
View staffing
Description
rr::Optimizer
to eliminate more loads and stores. I stopped short of using dominator analysis for a full-blown 'mem2reg' pass.This can be further improved upon by emitting phi instructions at the Reactor level. For example prior to invoking actual branches for SPIR-V conditionals . It would also lessen the impact of skipping sampling on inactive paths .
Variable::materializeAll()
prior to anIf
statement, we could move all unmaterialized variables in a separate list, and at the start of the 'end' basic block emit phi instructions for the ones that were written to in the true/false blocks. This would save loads and stores currently not eliminated for Subzero, while for LLVM it would benefit compile time. This becomes more important as we addLoops are more difficult since their bodies can dominate themselves: b/180131694#comment4