[AArch64] Enable SeparateConstOffsetFromGEP, EarlyCSE and LICM passes on AArch64...
authorHao Liu <Hao.Liu@arm.com>
Wed, 19 Nov 2014 06:39:53 +0000 (06:39 +0000)
committerHao Liu <Hao.Liu@arm.com>
Wed, 19 Nov 2014 06:39:53 +0000 (06:39 +0000)
commit8db9fbf7cd1acbb5b14f08cc8b49ec0bb275e566
tree5c0c68e9f08bf51b6d4250c18bf96557e540e7aa
parenteb52f383c2db7735e30049bbfca899b24ad49324
[AArch64] Enable SeparateConstOffsetFromGEP, EarlyCSE and LICM passes on AArch64 backend.
SeparateConstOffsetFromGEP can gives more optimizaiton opportunities related to GEPs, which benefits EarlyCSE
and LICM. By enabling these passes we can have better address calculations and generate a better addressing
mode. Some SPEC 2006 benchmarks (astar, gobmk, namd) have obvious improvements on Cortex-A57.

Reviewed in http://reviews.llvm.org/D5864.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222331 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64TargetMachine.cpp
test/CodeGen/AArch64/aarch64-gep-opt.ll [new file with mode: 0644]
test/CodeGen/AArch64/arm64-addr-mode-folding.ll
test/CodeGen/AArch64/arm64-cse.ll