[PATCH] D23172: IfConversion: Add implicit uses for live subregisters
Matthias Braun via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 22 13:15:21 PDT 2016
MatzeB added a comment.
In https://reviews.llvm.org/D23172#550016, @qcolombet wrote:
> > If I understand correctly---the reg unit approach will still add the implicit operands, it will just use reg units to track liveness?
>
>
> You shouldn't need the implicit operands anymore, because the double register would make the two reg unit of the simple register live and the uses would be from those reg unit.
> In other words,
> live in: D0 (sets reg unit A and B)
> use S0 (uses reg unit A)
> use S1 (uses reg unit B)
> Would be valid without anything else. (Modulo updating the MachineVerifier to check at the RegUnit level).
> But again, the problem with the RegUnit approach is that updating the live-ins may be expensive.
I don't see how we could get away without the implicit operands in the if-conversion (without teaching many other parts of the compiler what predicated code is). I wrote a longer explanation in another review where I had to remind myself: https://reviews.llvm.org/D20907#476017
Repository:
rL LLVM
https://reviews.llvm.org/D23172
More information about the llvm-commits
mailing list