OSDN Git Service

Support unaligned load/store on more ARM targets
authorDerek Schuff <dschuff@google.com>
Wed, 15 May 2013 16:08:30 +0000 (16:08 +0000)
committerDerek Schuff <dschuff@google.com>
Wed, 15 May 2013 16:08:30 +0000 (16:08 +0000)
commit6fc631978cdd1128a790854e497e267639d9325d
tree38eab3a8881f6092dcef6520ad57096c6c2a2186
parentdb3cc56e7018f6a553ba6bea8aeb6ee32aa121d8
Support unaligned load/store on more ARM targets

This patch matches GCC behavior: the code used to only allow unaligned
load/store on ARM for v6+ Darwin, it will now allow unaligned load/store for
v6+ Darwin as well as for v7+ on other targets.

The distinction is made because v6 doesn't guarantee support (but LLVM assumes
that Apple controls hardware+kernel and therefore have conformant v6 CPUs),
whereas v7 does provide this guarantee (and Linux behaves sanely).

Overall this should slightly improve performance in most cases because of
reduced I$ pressure.

Patch by JF Bastien

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181897 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMSubtarget.cpp