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)
commitf82c987a5cc1ecce7b5e3e11fff974e278e89c81
tree08cda2e4da29f9a9f9d0743045d87a4f029217af
parent6780f0f7a09add4fb38067c06c28e05742ee1f7d
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.

llvm-svn: 219831
llvm/lib/Target/AArch64/AArch64FastISel.cpp
llvm/test/CodeGen/AArch64/arm64-fast-isel-alloca.ll
llvm/test/CodeGen/AArch64/fast-isel-gep.ll [new file with mode: 0644]