diff options
author | Erik Verbruggen <[email protected]> | 2013-10-04 11:55:38 +0200 |
---|---|---|
committer | The Qt Project <[email protected]> | 2013-10-10 09:54:12 +0200 |
commit | 42aa10adc93068acbcdc503342c8db92c5b5b899 (patch) | |
tree | 06c153615ee85bf476c5e51c12c503b236807098 /src/qml/compiler/qv4isel_masm_p.h | |
parent | e34477bfaf318fe26cd935728eeec144cc1659fa (diff) |
V4: Remove more jumps.
Do not generate jump instructions when the target immediately follows
the current basic block, even if there are intermediate jumps in between
as long as they jump to the same basic block. In the IR snippet below,
no jumps will be generated at all.
…
L8: goto L6;
L12: goto L6;
L6: goto L4;
L11: goto L4;
L4: goto L2;
L10: goto L2;
L2: ….
Before this change, the gotos in L8, L6, and L2 were still generated.
Change-Id: I718ed0d41c603a6905f2279b782cd9e9cafb7d55
Reviewed-by: Lars Knoll <[email protected]>
Diffstat (limited to 'src/qml/compiler/qv4isel_masm_p.h')
-rw-r--r-- | src/qml/compiler/qv4isel_masm_p.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/qml/compiler/qv4isel_masm_p.h b/src/qml/compiler/qv4isel_masm_p.h index 013c2ef8ed..1a8df9a833 100644 --- a/src/qml/compiler/qv4isel_masm_p.h +++ b/src/qml/compiler/qv4isel_masm_p.h @@ -1550,6 +1550,7 @@ private: V4IR::BasicBlock *_block; V4IR::Function* _function; + QSet<V4IR::Jump *> _removableJumps; Assembler* _as; QSet<V4IR::BasicBlock*> _reentryBlocks; |