diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2013-01-03 00:47:51 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2013-01-03 00:47:51 +0000 |
commit | 251ed7f3e59a857dd92bda1ba4f9305f33deb67b (patch) | |
tree | 40200e5363ae38bc59c8545ce6fe34943e1c90f6 /lib/Transforms | |
parent | 47990e974355dd58d1f320f252e1a7ed3a79e034 (diff) |
Fix PR14732 by handling all kinds of IMPLICIT_DEF live ranges.
Most IMPLICIT_DEF instructions are removed by the ProcessImplicitDefs
pass, and a few are reinserted by PHIElimination when a PHI argument is
<undef>.
RegisterCoalescer was assuming that all IMPLICIT_DEF live ranges look
like those created by PHIElimination, and that their live range never
leaves the basic block.
The PR14732 test case does tricks with PHI nodes that causes a longer
IMPLICIT_DEF live range to appear. This happens very rarely, but
RegisterCoalescer should be able to handle it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171435 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms')
0 files changed, 0 insertions, 0 deletions