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

Hao Liu Hao.Liu at arm.com
Sun Apr 14 20:23:51 PDT 2013


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130415/76090387/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ARMLdStOpti-2013-04-15.patch
Type: application/octet-stream
Size: 10415 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130415/76090387/attachment.obj>


More information about the llvm-commits mailing list