OSDN Git Service

ARM: Thumb2 LDRD/STRD supports independent input/output regs
authorMatthias Braun <matze@braunis.de>
Mon, 1 Jun 2015 23:27:08 +0000 (23:27 +0000)
committerMatthias Braun <matze@braunis.de>
Mon, 1 Jun 2015 23:27:08 +0000 (23:27 +0000)
commitd421582e907886a10155191bcd9f81c31317f546
tree1292727d65f39674bd2c8d5cacb896fddf178cec
parentfe1391f07dc7010ce8429316897f3396b0c2f2de
ARM: Thumb2 LDRD/STRD supports independent input/output regs

The existing code would unnecessarily break LDRD/STRD apart with
non-adjacent registers, on thumb2 this is not necessary.

Ideally on thumb2 we shouldn't match for ldrd/strd pre-regalloc anymore
as there is not reason to set register hints anymore, changing that is
something for a future patch however.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238795 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMLoadStoreOptimizer.cpp
test/CodeGen/ARM/atomic-ops-v8.ll
test/CodeGen/ARM/ldrd.ll
test/CodeGen/Thumb2/float-ops.ll