diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2010-05-04 20:26:52 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2010-05-04 20:26:52 +0000 |
| commit | 4c908f4181cd4617590f93b6a89f2d3422f6f116 (patch) | |
| tree | 76f3570fcc5c122074f5bbad4491830ddb91651a /llvm/lib/CodeGen/PHIElimination.h | |
| parent | 687900ed8329ea4c35fffee0911fc8908cb41fa2 (diff) | |
| download | bcm5719-llvm-4c908f4181cd4617590f93b6a89f2d3422f6f116.tar.gz bcm5719-llvm-4c908f4181cd4617590f93b6a89f2d3422f6f116.zip | |
Teach PHI elimination to remove REG_SEQUENCE instructions and update references of the source operands with references of the destination with subreg indices. e.g.
%reg1029<def>, %reg1030<def> = VLD1q16 %reg1024<kill>, ...
%reg1031<def> = REG_SEQUENCE %reg1029<kill>, 5, %reg1030<kill>, 6
=>
%reg1031:5<def>, %reg1031:6<def> = VLD1q16 %reg1024<kill>, ...
PHI elimination now does more than phi elimination. It is really a de-SSA pass.
llvm-svn: 103039
Diffstat (limited to 'llvm/lib/CodeGen/PHIElimination.h')
| -rw-r--r-- | llvm/lib/CodeGen/PHIElimination.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/PHIElimination.h b/llvm/lib/CodeGen/PHIElimination.h index 7dedf0318a8..3292aa27af6 100644 --- a/llvm/lib/CodeGen/PHIElimination.h +++ b/llvm/lib/CodeGen/PHIElimination.h @@ -94,6 +94,8 @@ namespace llvm { return I; } + bool EliminateRegSequences(MachineFunction &MF); + typedef std::pair<unsigned, unsigned> BBVRegPair; typedef DenseMap<BBVRegPair, unsigned> VRegPHIUse; |

