Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/AMDGPU/SIFixSGPRCopies.cpp | ||
---|---|---|
101 ↗ | (On Diff #67729) | Should also preserve it (it might be redundant with preserves CFG but I'm not sure if you actually use it) |
248 ↗ | (On Diff #67729) | Reference |
249–266 ↗ | (On Diff #67729) | This is also missing s_cbranch_exec[n]z, s_endpgm, si_return. This function seems generally wrong to me. What exactly are you looking for by uniform terminator? The way I've been thinking about it, any branch terminator is uniform. This only looks at a single terminator, so it won't correctly handle something like: s_cbranch_scc0 BB1 I think what you really want is to look for is si_mask_branch (or at this early point one of the pseudo terminators that modify exec, none of which should be branches). But you can also have something like: Coming directly out of isel I think this is the most likely scenario since BranchFolding is supposed to cleanup unneeded unconditional branches. I think what you probably want to be looking for is really a terminator that modifiers exec. |
307 ↗ | (On Diff #67729) | s/denominator/dominator |