[PATCH] Fix MachineCopyPropagation with subregs
Jakob Stoklund Olesen
stoklund at 2pi.dk
Tue Jan 21 12:45:26 PST 2014
On Jan 21, 2014, at 11:24 AM, Hal Finkel <hfinkel at anl.gov> wrote:
> Am I correct in thinking that the benefit comes on targets that have independently-usable subregisters (so that, for example, the scavenger might separately allocate both al and ah on x86)? Maybe ARM would notice if we always "upcasted" liveness to the largest super-register (since they have those register pairs, etc.).
I also think it is dangerous to be thinking in terms of ‘largest super-register’. Because of the way we model ARM NEON instructions that operate on multiple sequential vector registers, the largest super-register is not unique and super-registers can become very big. I think the largest ARM registers are 4x128 bits, or 1/4 of the NEON register bank.
I prefer to turn the abstractions upside down and look towards sub-registers instead. That is what the register units do. Register units don’t change when you add more super-registers by composing existing registers.
Thanks,
/jakob
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140121/15f69b8b/attachment.html>
More information about the llvm-commits
mailing list