diff options
Diffstat (limited to 'src/qml/compiler/qv4ssa.cpp')
-rw-r--r-- | src/qml/compiler/qv4ssa.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/qml/compiler/qv4ssa.cpp b/src/qml/compiler/qv4ssa.cpp index 21c56e3a52..4b6fbc8abe 100644 --- a/src/qml/compiler/qv4ssa.cpp +++ b/src/qml/compiler/qv4ssa.cpp @@ -2668,15 +2668,16 @@ void optimizeSSA(Function *function, DefUsesCalculator &defUses) continue; } if (Member *member = m->source->asMember()) { - if (member->memberIsEnum) { + if (member->kind == Member::MemberOfEnum) { Const *c = function->New<Const>(); - c->init(SInt32Type, member->enumValue); + const int enumValue = member->attachedPropertiesIdOrEnumValue; + c->init(SInt32Type, enumValue); W += replaceUses(targetTemp, c); defUses.removeDef(*targetTemp); *ref[s] = 0; defUses.removeUse(s, *member->base->asTemp()); continue; - } else if (member->attachedPropertiesId != 0 && member->property && member->base->asTemp()) { + } else if (member->attachedPropertiesIdOrEnumValue != 0 && member->property && member->base->asTemp()) { // Attached properties have no dependency on their base. Isel doesn't // need it and we can eliminate the temp used to initialize it. defUses.removeUse(s, *member->base->asTemp()); |