From 5e78b32d706470cddabfe776bc4c7c8411e28481 Mon Sep 17 00:00:00 2001 From: bmeurer Date: Fri, 7 Apr 2017 04:17:06 -0700 Subject: [PATCH] Revert of [turbofan] Better representation selection for comparison with Float64. (patchset #2 id:20001 of https://codereview.chromium.org/2790833004/ ) Reason for revert: Doesn't really move the needle, but tanks Kraken/imaging-gaussian-blur (crbug.com/709396), so reverting for now. Original issue's description: > [turbofan] Better representation selection for comparison with Float64. > > For speculative number comparisons with SignedSmall feedback, we always > enforce either TaggedSigned or Word32 comparisons. But this is not > really beneficial if one of the inputs is already in Float64 > representation; in that case it's cheaper to just convert the other > input to a Float64. > > R=jarin@chromium.org > > Review-Url: https://codereview.chromium.org/2790833004 > Cr-Commit-Position: refs/heads/master@{#44327} > Committed: https://chromium.googlesource.com/v8/v8/+/8af394d6d385daf05b73765a2545ac8f266c64c7 TBR=jarin@chromium.org BUG=chromium:709396 Review-Url: https://codereview.chromium.org/2801233002 Cr-Commit-Position: refs/heads/master@{#44480} --- src/compiler/simplified-lowering.cc | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/compiler/simplified-lowering.cc b/src/compiler/simplified-lowering.cc index 4af401df5c4..e017f1d2e40 100644 --- a/src/compiler/simplified-lowering.cc +++ b/src/compiler/simplified-lowering.cc @@ -701,11 +701,6 @@ class RepresentationSelector { GetUpperBound(node->InputAt(1))->Is(type); } - bool IsNodeRepresentationFloat64(Node* node) { - MachineRepresentation representation = GetInfo(node)->representation(); - return representation == MachineRepresentation::kFloat64; - } - bool IsNodeRepresentationTagged(Node* node) { MachineRepresentation representation = GetInfo(node)->representation(); return IsAnyTagged(representation); @@ -1624,15 +1619,6 @@ class RepresentationSelector { ChangeToPureOp( node, changer_->TaggedSignedOperatorFor(node->opcode())); - } else if (IsNodeRepresentationFloat64(lhs) || - IsNodeRepresentationFloat64(rhs)) { - // If one side is already a Float64, it's pretty expensive to - // do the comparison in Word32, since that means we need a - // checked conversion from Float64 to Word32. It's cheaper to - // just go to Float64 for the comparison. - VisitBinop(node, UseInfo::CheckedNumberAsFloat64(), - MachineRepresentation::kBit); - ChangeToPureOp(node, Float64Op(node)); } else { VisitBinop(node, CheckedUseInfoAsWord32FromHint(hint), MachineRepresentation::kBit);