ARMLoadStoreOptimizer: Create LDRD/STRD on thumb2
authorMatthias Braun <matze@braunis.de>
Tue, 21 Jul 2015 00:18:59 +0000 (00:18 +0000)
committerMatthias Braun <matze@braunis.de>
Tue, 21 Jul 2015 00:18:59 +0000 (00:18 +0000)
commit361054b1fa1c823f227bf58ad0c22f9c96e0822c
treedea20e21f522997a4963b929d78acc6d249699c9
parent4f50f9eba412b6c0d5e7a9616dfe7699a07cf17b
ARMLoadStoreOptimizer: Create LDRD/STRD on thumb2

Re-apply r241926 with an additional check that r13 and r15 are not used
for LDRD/STRD. See http://llvm.org/PR24190. This also already includes
the fix from r241951.

Differential Revision: http://reviews.llvm.org/D10623

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242742 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMLoadStoreOptimizer.cpp
test/CodeGen/ARM/2013-05-02-AAPCS-ByVal-Structs-C4-C5-VFP.ll
test/CodeGen/ARM/byval-align.ll
test/CodeGen/ARM/ldrd.ll
test/CodeGen/ARM/memset-inline.ll
test/CodeGen/ARM/wrong-t2stmia-size-opt.ll
test/CodeGen/Thumb2/aapcs.ll