[turbofan] Take type into account when determining Word32 phi representation.

BUG=
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/968913002

Cr-Commit-Position: refs/heads/master@{#26958}
This commit is contained in:
jarin 2015-03-03 04:23:08 -08:00 committed by Commit bot
parent 4acbc93dbf
commit d0b8839b35
2 changed files with 6 additions and 6 deletions

View File

@ -329,7 +329,8 @@ class RepresentationSelector {
} else if (upper->Is(Type::Signed32()) || upper->Is(Type::Unsigned32())) {
// multiple uses, but we are within 32 bits range => pick kRepWord32.
return kRepWord32;
} else if ((use & kRepMask) == kRepWord32 ||
} else if (((use & kRepMask) == kRepWord32 &&
!CanObserveNonWord32(use)) ||
(use & kTypeMask) == kTypeInt32 ||
(use & kTypeMask) == kTypeUint32) {
// We only use 32 bits or we use the result consistently.
@ -456,6 +457,10 @@ class RepresentationSelector {
!CanObserveNonUint32(use);
}
bool CanObserveNonWord32(MachineTypeUnion use) {
return (use & ~(kTypeUint32 | kTypeInt32)) != 0;
}
bool CanObserveNonInt32(MachineTypeUnion use) {
return (use & (kTypeUint32 | kTypeNumber | kTypeAny)) != 0;
}

View File

@ -108,11 +108,6 @@
'es6/debug-stepin-microtasks': [PASS, NO_VARIANTS],
'es6/debug-stepnext-for': [PASS, NO_VARIANTS],
'harmony/debug-evaluate-blockscopes': [PASS, NO_VARIANTS],
# TODO(jarin): Some tests don't like --turbo-deoptimzation very much.
'asm/embenchen/lua_binarytrees': [SKIP],
'es6/symbols': [PASS, NO_VARIANTS],
'regress/regress-354433': [PASS, NO_VARIANTS], # only on ARM simulator.
'regress/regress-crbug-259300': [PASS, NO_VARIANTS],
##############################################################################