summaryrefslogtreecommitdiffstats
path: root/clang/lib/Format/Format.cpp
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-07-03 10:10:02 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-07-03 10:10:02 +0000
commited1fab6b5bfb54d63102319a761011e985081cb4 (patch)
tree6f875f92916f0dc214d1f28035000331faccbac7 /clang/lib/Format/Format.cpp
parentd36cbaa4231e51a42d761d298ff20aaa6e88d014 (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud