[llvm-commits] [PATCH 2/2] Convert VLDR/VSTR on demand for base update optimization

David Peixotto dpeixott at codeaurora.org
Fri Aug 31 11:02:43 PDT 2012


Please review the attached patch. Thanks!

This commit allows the base-address update optimization to work for VLDR and
VSTR. There is no writeback version of VLDR/VSTR, so we cannot directly fold
the update of the base address into the instruction itself. We must first
transform the VLDR/VSTR to VLDM/VSTM and then use the writeback version of
those instructions. For example we perform the following transformation,

VLDR D0, [R0]
ADD  R0, R0, #8
==>
VLDM R0!, {D0}

The VLDR/VSTR instructions will only be changed to VLDM/VSTM if an update of
the base address register can be folded into the instruction. Other
VLDR/VSTR
instructions are left undisturbed.

-- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
by The Linux Foundation



-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Convert-VLDR-VSTR-on-demand-for-base-update-optimiza.patch
Type: application/octet-stream
Size: 10683 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120831/ae43db08/attachment.obj>


More information about the llvm-commits mailing list