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 | fa487e83a83c260d6a50f3df00a0eb012553a912 (patch) | |
| tree | f6ddd72df044eaa9cabbce37fd4b04f64b978139 /lib/CodeGen/PHIEliminationUtils.h | |
| parent | b81b477cd4392a51112c3af0659ea9fc176e74f1 (diff) | |
| download | external_llvm-fa487e83a83c260d6a50f3df00a0eb012553a912.zip external_llvm-fa487e83a83c260d6a50f3df00a0eb012553a912.tar.gz external_llvm-fa487e83a83c260d6a50f3df00a0eb012553a912.tar.bz2 | |
[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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185529 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/PHIEliminationUtils.h')
0 files changed, 0 insertions, 0 deletions
