Reapply "[FastISel][AArch64] Add custom lowering for GEPs."
authorJuergen Ributzka <juergen@apple.com>
Wed, 15 Oct 2014 18:58:07 +0000 (18:58 +0000)
committerJuergen Ributzka <juergen@apple.com>
Wed, 15 Oct 2014 18:58:07 +0000 (18:58 +0000)
commit7440a83e600f12c0fd0bd265381a5cd89a0718ac
tree52fbf6236d06b85c2f3a1aeb901dc6d48dfa83bd
parent32c5fde3f15c6d8270bf5c3960589c5a2b33c56f
Reapply "[FastISel][AArch64] Add custom lowering for GEPs."

This is mostly a copy of the existing FastISel GEP code, but we have to
duplicate it for AArch64, because otherwise we would bail out even for simple
cases. This is because the standard fastEmit functions don't cover MUL at all
and ADD is lowered very inefficientily.

The original commit had a bug in the add emit logic, which has been fixed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219831 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64FastISel.cpp
test/CodeGen/AArch64/arm64-fast-isel-alloca.ll
test/CodeGen/AArch64/fast-isel-gep.ll [new file with mode: 0644]