diff options
| author | Lang Hames <lhames@gmail.com> | 2012-05-29 18:19:54 +0000 |
|---|---|---|
| committer | Lang Hames <lhames@gmail.com> | 2012-05-29 18:19:54 +0000 |
| commit | e256f71937673b69730541adbe653f4d823ceb79 (patch) | |
| tree | c51329e2d8cdea37e7e8a11352ec33ada3204fe7 /llvm/lib/CodeGen | |
| parent | de4ca5b789513c6d672661cc2a726c046c0043c7 (diff) | |
| download | bcm5719-llvm-e256f71937673b69730541adbe653f4d823ceb79.tar.gz bcm5719-llvm-e256f71937673b69730541adbe653f4d823ceb79.zip | |
Clear the entering, exiting and internal ranges of a bundle before collecting
ranges for the instruction about to be bundled. This fixes a bug in an external
project where an assertion was triggered due to spurious 'multiple defs' within
the bundle.
Patch by Ivan Llopard. Thanks Ivan!
llvm-svn: 157632
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/LiveIntervalAnalysis.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp index 78a634adf0b..bb767a71ecf 100644 --- a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp +++ b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp @@ -1097,6 +1097,9 @@ public: BundleRanges BR = createBundleRanges(Entering, Internal, Exiting); + Entering.clear(); + Internal.clear(); + Exiting.clear(); collectRanges(MI, Entering, Internal, Exiting, hasRegMaskOp, OldIdx); assert(!hasRegMaskOp && "Can't have RegMask operand in bundle."); |

