aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4jsir_p.h
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2014-07-23 12:17:28 +0200
committerErik Verbruggen <erik.verbruggen@digia.com>2014-08-18 16:05:51 +0200
commit7e5a589b905969a5712b801cec01be257fbc237c (patch)
tree77474e5ba865779da494463a3bab2a4fafd10183 /src/qml/compiler/qv4jsir_p.h
parent23193dbdd1ed777731e34b25d0ab19d190014152 (diff)
V4 IR: add immediate dominator re-calculation.
When removing edges, the control-flow graph changes, so some immediate dominators might need to be updated. This change collects all candidates and processes them in a single batch. Change-Id: I928f42232427a84bcb9658e314dadd0bd021b12f Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4jsir_p.h')
-rw-r--r--src/qml/compiler/qv4jsir_p.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/qml/compiler/qv4jsir_p.h b/src/qml/compiler/qv4jsir_p.h
index 6f42a50a72..e3499363dc 100644
--- a/src/qml/compiler/qv4jsir_p.h
+++ b/src/qml/compiler/qv4jsir_p.h
@@ -710,14 +710,16 @@ struct CJump: Stmt {
Expr *cond; // Temp, Binop
BasicBlock *iftrue;
BasicBlock *iffalse;
+ BasicBlock *parent;
CJump(int id): Stmt(id) {}
- void init(Expr *cond, BasicBlock *iftrue, BasicBlock *iffalse)
+ void init(Expr *cond, BasicBlock *iftrue, BasicBlock *iffalse, BasicBlock *parent)
{
this->cond = cond;
this->iftrue = iftrue;
this->iffalse = iffalse;
+ this->parent = parent;
}
virtual Stmt *asTerminator() { return this; }