[PATCH] [AArch64] Improve and enable the SeparateConstOffsetFromGEP for AArch64 backend.

Hao Liu Hao.Liu at arm.com
Mon Oct 27 01:28:37 PDT 2014


The performance result shows disable useAA for CortexA57 can have more improvement. The performance improvement result for latest trunk with this patch on CortexA57 are as follows:
Version 1 enable useAA() for CortexA57:
    spec.cpu2006.ref.444_namd	-4.56%
    spec.cpu2006.ref.473_astar	-3.79%
    spec.cpu2006.ref.445_gobmk	-2.91%
Version 2 disable useAA() for CortexA57:
    spec.cpu2006.ref.473_astar	-4.84%
    spec.cpu2006.ref.444_namd	-4.39%
    spec.cpu2006.ref.445_gobmk	-2.80%
Both versions have obvious benefit. But the result on astar of version 2 is much better than version 1. So I've attached a patch removing CortexA57 from useAA(). useAA() is beneficial for in-order target, but it has no obvious improvement on out of order cpu. Currently cyclone, x86 also doesn't useAA(). So I think we don't need useAA for CortexA57.

http://reviews.llvm.org/D5864

Files:
  include/llvm/Transforms/Scalar.h
  lib/Target/AArch64/AArch64Subtarget.h
  lib/Target/AArch64/AArch64TargetMachine.cpp
  lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
  test/CodeGen/AArch64/aarch64-gep-opt.ll
  test/CodeGen/AArch64/arm64-addr-mode-folding.ll
  test/CodeGen/AArch64/arm64-cse.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5864.15475.patch
Type: text/x-patch
Size: 24038 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141027/465f8e31/attachment.bin>


More information about the llvm-commits mailing list