[PATCH][Peephole] Rewrite copies to avoid cross register banks copies.

Quentin Colombet qcolombet at apple.com
Thu Sep 12 19:24:17 PDT 2013


Hi Jakob,

Here is the updated version of the patch was merged the handling of "bit cast" instructions into the new optimization.

Tested and approved on both x86-64 and armv7s ;).

Thanks,
-Quentin

PS: I think you may want to review this other patch:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130902/186653.html

-------------- next part --------------
A non-text attachment was scrubbed...
Name: PeepholeCopy.svndiff
Type: application/octet-stream
Size: 11330 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130912/6993798d/attachment.obj>
-------------- next part --------------

On Sep 12, 2013, at 1:59 PM, Quentin Colombet <qcolombet at apple.com> wrote:

> Hi Jakob,
> 
> Thanks for the review!
> 
> On Sep 12, 2013, at 12:34 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:
> 
>> 
>> On Sep 12, 2013, at 11:32 AM, Quentin Colombet <qcolombet at apple.com> wrote:
>> 
>>> Hi Jakob,
>>> 
>>> Could you have a look to this patch, please?
>>> 
>>> Thanks,
>>> Quentin
>>> <PeepholeCopy.svndiff>
>> 
>> Hi Quentin,
>> 
>> The patch looks good, but it seems to be doing the same thing as optimizeBitcastInstr(), only better.
> Agreed.
> 
>> Could those two be merged, or can we just get rid of ‘bit cast’ instructions now?
> For now, I prefer merging because I think removing the 'bit cast' instructions should be part of a separate patch/discussion.
> 
>> 
>> It seems to me that targets should simply emit cross-class COPY instructions instead of marking some native copy instructions as ‘bit casts’.
> Agreed, I also think that the 'bit casts' instructions are redundant with cross-class COPY instructions and I would like to get rid of them for the sake of simplicity.
> 
>> 
>> What do you think?
> I will update the patch to merge the two functions and I will look at the 'bit cast' stuff to make another, separate proposal.
> 
> -Quentin
> 
>> 
>> /jakob
>> 
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list