[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:
parent
4acbc93dbf
commit
d0b8839b35
@ -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],
|
||||
|
||||
##############################################################################
|
||||
|
Loading…
Reference in New Issue
Block a user