diff options
author | Erik Verbruggen <erik.verbruggen@me.com> | 2013-11-12 14:55:14 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-12 18:20:30 +0100 |
commit | 12086835ddce3554af1dc472377543bd1471faa9 (patch) | |
tree | 1c137c489a551a5f5133857f3c44dbc12d80d16f /src/qml/compiler/qv4isel_masm.cpp | |
parent | 67caa984931259e1d4692cc75f91eef676aa5990 (diff) | |
download | qtdeclarative-12086835ddce3554af1dc472377543bd1471faa9.tar.gz |
V4 IR: change basic-block cleanup to remove unreachable cycles too.
The previous version left unreachable cycles untouched. For example in:
function f() {
if (false)
while (true) { doSomething(); }
anotherThing();
}
The edge to the then-part would be removed, but the loop itself would
not be removed. This resulted in the basic-block scheduler choking when
hitting the block with the anotherThing() call, because it wants to have
all blocks from incoming edges resolved first.
Task-number: QTBUG-34776
Change-Id: I5b3a79140e6058c4ade4ec7687c1a795f1a74f97
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4isel_masm.cpp')
0 files changed, 0 insertions, 0 deletions