commit | 89becbb97423fb608a4dd85ec10c3fde4398d956 | [log] [tgz] |
---|---|---|
author | Stepan Dyatkovskiy <stpworld@narod.ru> | Fri Apr 05 05:52:14 2013 +0000 |
committer | Stepan Dyatkovskiy <stpworld@narod.ru> | Fri Apr 05 05:52:14 2013 +0000 |
tree | e9329b5ebf6b5871c8cc2aa2ccf6479e7c7a4b51 | |
parent | 1abaf907b6aff6e468cb838fa40e0ec6cc5ece24 [diff] |
Fix for PR14824: "Optimization arm_ldst_opt inserts newly generated instruction vldmia at incorrect position". Patch introduces memory operands tracking in ARMLoadStoreOpt::LoadStoreMultipleOpti. For each register it keeps the order of load operations as it was before optimization pass. It is kind of deep improvement of fix proposed by Hao: http://llvm.org/bugs/show_bug.cgi?id=14824#c4 But it also tracks conflicts between different register classes (e.g. D2 and S5). For more details see: Bug description: http://llvm.org/bugs/show_bug.cgi?id=14824 LLVM Commits discussion: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130311/167936.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130318/168688.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130325/169376.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130401/170238.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178851 91177308-0d34-0410-b5e6-96231b3b80d8