[PATCH] D30324: [ARM] Thumb2: favor R4-R7 over R12/LR in allocation order when opt for minsize

Weiming Zhao via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 19 23:03:20 PDT 2017


weimingz updated this revision to Diff 95889.
weimingz added a comment.

Below are the measurements of text size of benchmarks. 
Build flag: "-Oz -mthumb -mcpu=cortex-m3 -fomit-frame-pointer"
Baseline has extra flag: " -mllvm -arm-favor-r4-r7=false"

| benchmark           | baseline | favor low reg | reduction | reduction (%) |
| spec2000/ammp       | 73304    | 72984         | 320       | 0.436538      |
| spec2000/art        | 8459     | 8459          | 0         | 0             |
| spec2000/bzip2      | 18771    | 18739         | 32        | 0.170476      |
| spec2000/crafty     | 133506   | 133242        | 264       | 0.197744      |
| spec2000/eon        | 217561   | 217251        | 310       | 0.142489      |
| spec2000/equake     | 11409    | 11373         | 36        | 0.31554       |
| spec2000/gap        | 267736   | 267312        | 424       | 0.158365      |
| spec2000/gcc        | 800902   | 800050        | 852       | 0.10638       |
| spec2000/gzip       | 21563    | 21515         | 48        | 0.222604      |
| spec2000/mcf        | 5366     | 5308          | 58        | 1.08088       |
| spec2000/mesa       | 305721   | 304279        | 1442      | 0.471672      |
| spec2000/parser     | 58571    | 58459         | 112       | 0.191221      |
| spec2000/perlbmk    | 311020   | 310724        | 296       | 0.0951707           |
| spec2000/twolf      | 119785   | 119905        | -120      | -0.100179     |
| spec2000/vortex     | 322133   | 321581        | 552       | 0.171358      |
| spec2000/vpr        | 90682    | 90570         | 112       | 0.123509      |
| coremark            | 6281     | 6188          | 93        | 1.48066       |
| spec2006/astar      | 19282    | 19284         | -2        | -0.0103724          |
| spec2006/bzip2      | 33991    | 33897         | 94        | 0.276544      |
| spec2006/dealII     | 1864927        | 1861707             | 3220      | 0.172661      |
| spec2006/gcc        | 1835601        | 1833531             | 2070      | 0.11277       |
| spec2006/gobmk      | 1151212        | 1149542             | 1670      | 0.145065      |
| spec2006/h264ref    | 335652   | 335218        | 434       | 0.129301      |
| spec2006/hmmer      | 153025   | 152693        | 332       | 0.216958      |
| spec2006/lbm        | 7282     | 7270          | 12        | 0.16479       |
| spec2006/libquantum | 19926    | 19888         | 38        | 0.190706      |
| spec2006/mcf        | 5484     | 5446          | 38        | 0.692925      |
| spec2006/milc       | 64512    | 64236         | 276       | 0.427827      |
| spec2006/namd       | 154110   | 153830        | 280       | 0.181688      |
| spec2006/omnetpp    | 429750   | 429576        | 174       | 0.0404887           |
| spec2006/perlbench  | 603275   | 602947        | 328       | 0.0543699           |
| spec2006/povray     | 555524   | 554886        | 638       | 0.114847      |
| spec2006/sjeng      | 86646    | 86302         | 344       | 0.397018      |
| spec2006/soplex     | 210691   | 210169        | 522       | 0.247756      |
| spec2006/sphinx3    | 100839   | 100641        | 198       | 0.196353      |
| spec2006/xalancbmk  | 2819035        | 2817887             | 1148      | 0.0407232           |


https://reviews.llvm.org/D30324

Files:
  include/llvm/Target/TargetRegisterInfo.h
  lib/CodeGen/RegisterClassInfo.cpp
  lib/Target/ARM/ARMBaseRegisterInfo.cpp
  lib/Target/ARM/ARMBaseRegisterInfo.h
  lib/Target/ARM/ARMRegisterInfo.td
  lib/Target/ARM/ARMSubtarget.cpp
  lib/Target/ARM/ARMSubtarget.h
  test/CodeGen/ARM/favor-low-reg-for-Osize.ll
  test/CodeGen/ARM/fold-stack-adjust.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30324.95889.patch
Type: text/x-patch
Size: 11297 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170420/d98be76b/attachment.bin>


More information about the llvm-commits mailing list