MCRegAliasIterator only works for physical registers. So, do not run it
on virtual registers.
With this issue fixed, we can resurrect the BranchFolding pass in NVPTX
backend.
Paths
| Differential D11174
[BranchFolding] do not iterate the aliases of virtual registers ClosedPublic Authored by jingyue on Jul 13 2015, 10:15 PM.
Details Summary MCRegAliasIterator only works for physical registers. So, do not run it With this issue fixed, we can resurrect the BranchFolding pass in NVPTX
Diff Detail Event TimelineComment Actions This looks good with one comment below. Also the top comment in this file could use an update so it's clear that the pass has to handle vregs too.
Closed by commit rL242871: [BranchFolding] do not iterate the aliases of virtual registers (authored by jingyue). · Explain WhyJul 21 2015, 9:17 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 30313 lib/CodeGen/BranchFolding.cpp
lib/Target/NVPTX/NVPTXTargetMachine.cpp
test/CodeGen/NVPTX/branch-fold.ll
|
The alias iterator has the IncludeSelf flag set, so shouldn't Reg be removed from the set even if it's a vreg?