diff options
author | Lars Knoll <lars.knoll@digia.com> | 2012-11-14 09:07:01 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@digia.com> | 2012-11-14 12:20:19 +0100 |
commit | b233a73fea9bc34c97ef0fcd6d8088288394f643 (patch) | |
tree | dde6bf49798aabda5c55f4023ecfca4df0df2e3b /qv4codegen.cpp | |
parent | a09d75dd1fd4d598e641ff29ee73c312a0aaba73 (diff) |
Optimise move instructions involving constants
Change-Id: Ic12a54ab1c5789cc5684d38961c58f6b34f9597a
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Diffstat (limited to 'qv4codegen.cpp')
-rw-r--r-- | qv4codegen.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/qv4codegen.cpp b/qv4codegen.cpp index eed854ce5f..7cbaa8a260 100644 --- a/qv4codegen.cpp +++ b/qv4codegen.cpp @@ -520,7 +520,7 @@ void Codegen::move(IR::Expr *target, IR::Expr *source, IR::AluOp op) { assert(target->isLValue()); - if (! source->asTemp() && (op != IR::OpInvalid || ! target->asTemp())) { + if (!source->asTemp() && !source->asConst() && (op != IR::OpInvalid || ! target->asTemp())) { unsigned t = _block->newTemp(); _block->MOVE(_block->TEMP(t), source); source = _block->TEMP(t); |