[PATCH] LocalStackSlotAllocation improvements
Hal Finkel
hfinkel at anl.gov
Tue Apr 16 13:39:40 PDT 2013
Ping.
-Hal
----- Original Message -----
> From: "Hal Finkel" <hfinkel at anl.gov>
> To: "Jim Grosbach" <grosbach at apple.com>
> Cc: "Commit Messages and Patches for LLVM" <llvm-commits at cs.uiuc.edu>
> Sent: Monday, April 8, 2013 6:33:35 PM
> Subject: [PATCH] LocalStackSlotAllocation improvements
>
> Jim, et al.,
>
> Please review the attached patch that improves
> LocalStackSlotAllocation. It does a few things:
>
> - Taking advantage of the fact that the virtual base registers are
> allocated in order of the local frame offsets, remove the quadratic
> register-searching behavior. Because of the ordering, we only need
> to check the last virtual base register created.
>
> - Store the frame index in the FrameRef structure, and get the frame
> index and the local offset from this structure at the top of the
> loop iteration. This allows us to de-nest the loops in
> insertFrameReferenceRegisters (and I think makes the code cleaner).
> I also moved the needsFrameBaseReg check into the first loop over
> instructions so that we don't bother pushing FrameRefs for
> instructions that don't want a virtual base register anyway.
>
> - Avoids the creation of single-use virtual base registers. These
> are currently not useful because, in general, they end up replacing
> what would be one r+r instruction with an add and a r+i
> instruction.
>
> Thanks again,
> Hal
>
> P.S. I'll commit some tests to cover the single-use behavior when I
> enable this on PPC.
>
> --
> Hal Finkel
> Postdoctoral Appointee
> Leadership Computing Facility
> Argonne National Laboratory
>
> _______________________________________________
> 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