diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-11-03 11:01:45 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-11-03 11:01:45 +0100 |
commit | da5083c11df4d9a6decd8d724098b6f108c4ab35 (patch) | |
tree | ee331004123ef2795025637c2905d9719f95f317 /src/qml/compiler/qv4ssa.cpp | |
parent | 462904396454ed0ee931c2a8f2b02c8a6508965a (diff) | |
parent | ef502bd71a0d81f1428263a11c38cd7c893ac515 (diff) |
Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
tools/qmljs/qmljs.cpp
Change-Id: Ifa9e74bdb780eaff22fbc9ba1c514d0078a3fb29
Diffstat (limited to 'src/qml/compiler/qv4ssa.cpp')
-rw-r--r-- | src/qml/compiler/qv4ssa.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/qml/compiler/qv4ssa.cpp b/src/qml/compiler/qv4ssa.cpp index a98cf6d338..4fa0cf421b 100644 --- a/src/qml/compiler/qv4ssa.cpp +++ b/src/qml/compiler/qv4ssa.cpp @@ -5077,6 +5077,10 @@ void mergeBasicBlocks(IR::Function *function, DefUses *du, DominatorTree *dt) BasicBlock *successor = bb->out.first(); if (successor->in.size() != 1) continue; // more than one incoming edge + // Loop header? No efficient way to update the other blocks that refer to this as containing group, + // so don't do merging yet. + if (successor->isGroupStart()) continue; + // Ok, we can merge the two basic blocks. if (DebugBlockMerging) { qDebug("Merging L%d into L%d", successor->index(), bb->index()); |