aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4ssa.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@me.com>2013-09-26 14:49:44 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-30 11:28:55 +0200
commit7c3f891c454971ed0150e66c2261e6e5c36664a3 (patch)
tree067a59085a30ddf7ade38dd1cad078033a886486 /src/qml/compiler/qv4ssa.cpp
parent9194779ef37187b1b38d73099747459f9f5e745c (diff)
V4: remove inplace operations
Inplace operations are expanded when building the IR, so the neither the IR, nor the instruction selection backends or runtime need to handle them. Change-Id: Id01f9544e137dd52364cf2ed2c10931c31ddfff3 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4ssa.cpp')
-rw-r--r--src/qml/compiler/qv4ssa.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/qml/compiler/qv4ssa.cpp b/src/qml/compiler/qv4ssa.cpp
index 7054d5140c..c79f19ecf7 100644
--- a/src/qml/compiler/qv4ssa.cpp
+++ b/src/qml/compiler/qv4ssa.cpp
@@ -1462,7 +1462,6 @@ protected:
virtual void visitExp(Exp *s) { _ty = run(s->expr); }
virtual void visitMove(Move *s) {
TypingResult sourceTy = run(s->source);
- Q_ASSERT(s->op == OpInvalid);
if (Temp *t = s->target->asTemp()) {
setType(t, sourceTy.type);
_ty = sourceTy;
@@ -1602,7 +1601,7 @@ public:
target->type = conversion.targetType;
Expr *convert = bb->CONVERT(*conversion.expr, conversion.targetType);
Move *convCall = f->New<Move>();
- convCall->init(target, convert, OpInvalid);
+ convCall->init(target, convert);
Temp *source = bb->TEMP(target->index);
source->type = conversion.targetType;
@@ -2988,7 +2987,7 @@ void MoveMapping::insertMoves(BasicBlock *bb, Function *function, bool atEnd) co
int insertionPoint = atEnd ? bb->statements.size() - 1 : 0;
foreach (const Move &m, _moves) {
V4IR::Move *move = function->New<V4IR::Move>();
- move->init(m.to, m.from, OpInvalid);
+ move->init(m.to, m.from);
move->id = m.id;
move->swap = m.needsSwap;
bb->statements.insert(insertionPoint++, move);