Commit d0b8839b authored by jarin's avatar jarin Committed by Commit bot

[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}
parent 4acbc93d
......@@ -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;
}
......
......@@ -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],
##############################################################################
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment