[PATCH] [AArch64] Enhance rematerialization by adding a new API isAsCheapAsAMove in TargetInstroInfo
Jiangning Liu
liujiangning1 at gmail.com
Tue Jul 1 22:14:58 PDT 2014
Hi t.p.northover,
This patch moves isAsCheapAsAMove to be a new API defined in TargetInstroInfo, so different targets could override it by customizing micro-architecture specific versions. For AArch64, this patch only adds cortex-a57 and cortex-a53 support so far. In LLVM, register coalesce pass is leveraging this API to help rematerialization.
With this patch applied, we would have some performance changes on cortex-a57. Below is running time change data
spec.cpu2000.ref.252_eon -1.26%
spec.cpu2000.ref.253_perlbmk -5.61%
spec.cpu2000.ref.254_gap 1.29%
eembc.automotive.cacheb01 1.82%
eembc.automotive.rspeed01 -5.44%
eembc.consumer.cjpeg -2.08%
eembc.telecom.conven00 -6.42%
Thanks,
-Jiangning
http://reviews.llvm.org/D4361
Files:
include/llvm/CodeGen/MachineInstr.h
include/llvm/Target/TargetInstrInfo.h
lib/CodeGen/RegisterCoalescer.cpp
lib/Target/AArch64/AArch64InstrFormats.td
lib/Target/AArch64/AArch64InstrInfo.cpp
lib/Target/AArch64/AArch64InstrInfo.h
test/CodeGen/AArch64/remat.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D4361.11017.patch
Type: text/x-patch
Size: 7836 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140702/4225bd88/attachment.bin>
More information about the llvm-commits
mailing list