diff options
author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-07-03 10:10:02 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-07-03 10:10:02 +0000 |
commit | ed1fab6b5bfb54d63102319a761011e985081cb4 (patch) | |
tree | 6f875f92916f0dc214d1f28035000331faccbac7 /clang/lib/Format/Format.cpp | |
parent | d36cbaa4231e51a42d761d298ff20aaa6e88d014 (diff) | |
download | bcm5719-llvm-ed1fab6b5bfb54d63102319a761011e985081cb4.tar.gz bcm5719-llvm-ed1fab6b5bfb54d63102319a761011e985081cb4.zip |
[SystemZ] Fold more spills
Add a mapping from register-based <INSN>R instructions to the corresponding
memory-based <INSN>. Use it to cut down on the number of spill loads.
Some instructions extend their operands from smaller fields, so this
required a new TSFlags field to say how big the unextended operand is.
This optimisation doesn't trigger for C(G)R and CL(G)R because in practice
we always combine those instructions with a branch. Adding a test for every
other case probably seems excessive, but it did catch a missed optimisation
for DSGF (fixed in r185435).
llvm-svn: 185529
Diffstat (limited to 'clang/lib/Format/Format.cpp')
0 files changed, 0 insertions, 0 deletions