Index: test/unittests/compiler/change-lowering-unittest.cc |
diff --git a/test/unittests/compiler/change-lowering-unittest.cc b/test/unittests/compiler/change-lowering-unittest.cc |
index b6b4ff319f30c45305f18d8b7accd7634613f035..a78055dd6987b74f5bb3cf9cecd0f50e26d095a7 100644 |
--- a/test/unittests/compiler/change-lowering-unittest.cc |
+++ b/test/unittests/compiler/change-lowering-unittest.cc |
@@ -132,27 +132,6 @@ TARGET_TEST_P(ChangeLoweringCommonTest, ChangeInt31ToTagged) { |
EXPECT_THAT(r.replacement(), IsChangeInt32ToSmi(value)); |
} |
-TARGET_TEST_P(ChangeLoweringCommonTest, ChangeTaggedToInt32WithTaggedNumber) { |
- Node* value = |
- Parameter(Type::Intersect(Type::TaggedPointer(), Type::Number(), zone())); |
- Reduction r = |
- Reduce(graph()->NewNode(simplified()->ChangeTaggedToInt32(), value)); |
- ASSERT_TRUE(r.Changed()); |
- EXPECT_THAT(r.replacement(), IsChangeFloat64ToInt32( |
- IsLoadHeapNumber(value, graph()->start()))); |
-} |
- |
-TARGET_TEST_P(ChangeLoweringCommonTest, ChangeTaggedToUint32WithTaggedPointer) { |
- Node* value = |
- Parameter(Type::Intersect(Type::TaggedPointer(), Type::Number(), zone())); |
- Reduction r = |
- Reduce(graph()->NewNode(simplified()->ChangeTaggedToUint32(), value)); |
- ASSERT_TRUE(r.Changed()); |
- EXPECT_THAT(r.replacement(), IsChangeFloat64ToUint32( |
- IsLoadHeapNumber(value, graph()->start()))); |
-} |
- |
- |
TARGET_TEST_P(ChangeLoweringCommonTest, StoreFieldSmi) { |
FieldAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, |
Handle<Name>::null(), Type::Any(), |
@@ -316,181 +295,6 @@ TARGET_TEST_P(ChangeLoweringCommonTest, Allocate) { |
ASSERT_TRUE(r.Changed()); |
} |
- |
-INSTANTIATE_TEST_CASE_P(ChangeLoweringTest, ChangeLoweringCommonTest, |
- ::testing::Values(MachineRepresentation::kWord32, |
- MachineRepresentation::kWord64)); |
- |
- |
-// ----------------------------------------------------------------------------- |
-// 32-bit |
- |
- |
-class ChangeLowering32Test : public ChangeLoweringTest { |
- public: |
- ~ChangeLowering32Test() override {} |
- MachineRepresentation WordRepresentation() const final { |
- return MachineRepresentation::kWord32; |
- } |
-}; |
- |
- |
-TARGET_TEST_F(ChangeLowering32Test, ChangeTaggedToFloat64) { |
- STATIC_ASSERT(kSmiTag == 0); |
- STATIC_ASSERT(kSmiTagSize == 1); |
- |
- Node* value = Parameter(Type::Number()); |
- Node* node = graph()->NewNode(simplified()->ChangeTaggedToFloat64(), value); |
- Reduction r = Reduce(node); |
- ASSERT_TRUE(r.Changed()); |
- Capture<Node*> branch, if_true; |
- EXPECT_THAT( |
- r.replacement(), |
- IsPhi(MachineRepresentation::kFloat64, |
- IsLoadHeapNumber(value, CaptureEq(&if_true)), |
- IsChangeInt32ToFloat64(IsWord32Sar( |
- value, IsInt32Constant(kSmiTagSize + kSmiShiftSize))), |
- IsMerge(AllOf(CaptureEq(&if_true), |
- IsIfTrue(AllOf( |
- CaptureEq(&branch), |
- IsBranch(IsWord32And( |
- value, IsInt32Constant(kSmiTagMask)), |
- graph()->start())))), |
- IsIfFalse(CaptureEq(&branch))))); |
-} |
- |
- |
-TARGET_TEST_F(ChangeLowering32Test, ChangeTaggedToInt32) { |
- STATIC_ASSERT(kSmiTag == 0); |
- STATIC_ASSERT(kSmiTagSize == 1); |
- |
- Node* value = Parameter(Type::Signed32()); |
- Node* node = graph()->NewNode(simplified()->ChangeTaggedToInt32(), value); |
- Reduction r = Reduce(node); |
- ASSERT_TRUE(r.Changed()); |
- Capture<Node*> branch, if_true; |
- EXPECT_THAT( |
- r.replacement(), |
- IsPhi( |
- MachineRepresentation::kWord32, |
- IsChangeFloat64ToInt32(IsLoadHeapNumber(value, CaptureEq(&if_true))), |
- IsWord32Sar(value, IsInt32Constant(kSmiTagSize + kSmiShiftSize)), |
- IsMerge(AllOf(CaptureEq(&if_true), IsIfTrue(CaptureEq(&branch))), |
- IsIfFalse(AllOf( |
- CaptureEq(&branch), |
- IsBranch(IsWord32And(value, IsInt32Constant(kSmiTagMask)), |
- graph()->start())))))); |
-} |
- |
- |
-TARGET_TEST_F(ChangeLowering32Test, ChangeTaggedToUint32) { |
- STATIC_ASSERT(kSmiTag == 0); |
- STATIC_ASSERT(kSmiTagSize == 1); |
- |
- Node* value = Parameter(Type::Unsigned32()); |
- Node* node = graph()->NewNode(simplified()->ChangeTaggedToUint32(), value); |
- Reduction r = Reduce(node); |
- ASSERT_TRUE(r.Changed()); |
- Capture<Node*> branch, if_true; |
- EXPECT_THAT( |
- r.replacement(), |
- IsPhi( |
- MachineRepresentation::kWord32, |
- IsChangeFloat64ToUint32(IsLoadHeapNumber(value, CaptureEq(&if_true))), |
- IsWord32Sar(value, IsInt32Constant(kSmiTagSize + kSmiShiftSize)), |
- IsMerge(AllOf(CaptureEq(&if_true), IsIfTrue(CaptureEq(&branch))), |
- IsIfFalse(AllOf( |
- CaptureEq(&branch), |
- IsBranch(IsWord32And(value, IsInt32Constant(kSmiTagMask)), |
- graph()->start())))))); |
-} |
- |
- |
-// ----------------------------------------------------------------------------- |
-// 64-bit |
- |
- |
-class ChangeLowering64Test : public ChangeLoweringTest { |
- public: |
- ~ChangeLowering64Test() override {} |
- MachineRepresentation WordRepresentation() const final { |
- return MachineRepresentation::kWord64; |
- } |
-}; |
- |
- |
-TARGET_TEST_F(ChangeLowering64Test, ChangeTaggedToFloat64) { |
- STATIC_ASSERT(kSmiTag == 0); |
- STATIC_ASSERT(kSmiTagSize == 1); |
- |
- Node* value = Parameter(Type::Number()); |
- Node* node = graph()->NewNode(simplified()->ChangeTaggedToFloat64(), value); |
- Reduction r = Reduce(node); |
- ASSERT_TRUE(r.Changed()); |
- Capture<Node*> branch, if_true; |
- EXPECT_THAT( |
- r.replacement(), |
- IsPhi(MachineRepresentation::kFloat64, |
- IsLoadHeapNumber(value, CaptureEq(&if_true)), |
- IsChangeInt32ToFloat64(IsTruncateInt64ToInt32(IsWord64Sar( |
- value, IsInt64Constant(kSmiTagSize + kSmiShiftSize)))), |
- IsMerge(AllOf(CaptureEq(&if_true), |
- IsIfTrue(AllOf( |
- CaptureEq(&branch), |
- IsBranch(IsWord64And( |
- value, IsInt64Constant(kSmiTagMask)), |
- graph()->start())))), |
- IsIfFalse(CaptureEq(&branch))))); |
-} |
- |
- |
-TARGET_TEST_F(ChangeLowering64Test, ChangeTaggedToInt32) { |
- STATIC_ASSERT(kSmiTag == 0); |
- STATIC_ASSERT(kSmiTagSize == 1); |
- |
- Node* value = Parameter(Type::Signed32()); |
- Node* node = graph()->NewNode(simplified()->ChangeTaggedToInt32(), value); |
- Reduction r = Reduce(node); |
- ASSERT_TRUE(r.Changed()); |
- Capture<Node*> branch, if_true; |
- EXPECT_THAT( |
- r.replacement(), |
- IsPhi( |
- MachineRepresentation::kWord32, |
- IsChangeFloat64ToInt32(IsLoadHeapNumber(value, CaptureEq(&if_true))), |
- IsTruncateInt64ToInt32( |
- IsWord64Sar(value, IsInt64Constant(kSmiTagSize + kSmiShiftSize))), |
- IsMerge(AllOf(CaptureEq(&if_true), IsIfTrue(CaptureEq(&branch))), |
- IsIfFalse(AllOf( |
- CaptureEq(&branch), |
- IsBranch(IsWord64And(value, IsInt64Constant(kSmiTagMask)), |
- graph()->start())))))); |
-} |
- |
- |
-TARGET_TEST_F(ChangeLowering64Test, ChangeTaggedToUint32) { |
- STATIC_ASSERT(kSmiTag == 0); |
- STATIC_ASSERT(kSmiTagSize == 1); |
- |
- Node* value = Parameter(Type::Unsigned32()); |
- Node* node = graph()->NewNode(simplified()->ChangeTaggedToUint32(), value); |
- Reduction r = Reduce(node); |
- ASSERT_TRUE(r.Changed()); |
- Capture<Node*> branch, if_true; |
- EXPECT_THAT( |
- r.replacement(), |
- IsPhi( |
- MachineRepresentation::kWord32, |
- IsChangeFloat64ToUint32(IsLoadHeapNumber(value, CaptureEq(&if_true))), |
- IsTruncateInt64ToInt32( |
- IsWord64Sar(value, IsInt64Constant(kSmiTagSize + kSmiShiftSize))), |
- IsMerge(AllOf(CaptureEq(&if_true), IsIfTrue(CaptureEq(&branch))), |
- IsIfFalse(AllOf( |
- CaptureEq(&branch), |
- IsBranch(IsWord64And(value, IsInt64Constant(kSmiTagMask)), |
- graph()->start())))))); |
-} |
- |
} // namespace compiler |
} // namespace internal |
} // namespace v8 |