[PATCH]Fix for PR14824: Optimization arm_ldst_opt inserts newly generated instruction vldmia at incorrect position

Renato Golin renato.golin at linaro.org
Wed Apr 17 03:13:18 PDT 2013


Hi Hao,

The patch looks good, but would be good to have the test split into their
functional semantics, ie. each block that starts by loading from %source.
Feel free to check for { function name + not vldmia + add } on each one, so
it's easier to change it in the future, as the test comment seem to imply.

cheers,
--renato


On 15 April 2013 04:23, Hao Liu <Hao.Liu at arm.com> wrote:

> Hi,****
>
> ** **
>
> Please consider a patch in the attachment as fix for PR14824: Optimization
> arm_ldst_opt inserts newly generated instruction vldmia at incorrect.
> http://llvm.org/bugs/show_bug.cgi?id=14824****
>
> ** **
>
> The problem is that there is overlap for lack of WAW (write after write)
> dependence check in ARMLoadStoreOpt::LoadStoreMultipleOpti. So we check the
> dependence before inserting an instruction into optimizing queue. If the
> dependence does exist, we will optimize all the instructions already in the
> queue.****
>
> ** **
>
> The attached patch fixes that problem. BTW, to write a simple test case is
> hard, as the overlapped instructions are removed as dead instructions in
> usual. So the regression test attached is the original test case by
> Jiangning who found this bug. There is no unexpected failure of the
> regression test. The test-suite hasn’t been tested for the lack of
> equipment.****
>
> ** **
>
> Thanks,****
>
> -Hao****
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130417/672e649c/attachment.html>


More information about the llvm-commits mailing list