| Index: test/cctest/compiler/test-simplified-lowering.cc
|
| diff --git a/test/cctest/compiler/test-simplified-lowering.cc b/test/cctest/compiler/test-simplified-lowering.cc
|
| index 269927c480f231885c7563378b5805c5a8627011..a110e63958eb2b73798824383fa7f726de7721e1 100644
|
| --- a/test/cctest/compiler/test-simplified-lowering.cc
|
| +++ b/test/cctest/compiler/test-simplified-lowering.cc
|
| @@ -745,17 +745,6 @@ class TestingGraph : public HandleAndZoneScope, public GraphAndBuilders {
|
| }
|
| }
|
|
|
| - Node* ExampleWithTypeAndRep(Type* type, MachineType mach_type) {
|
| - FieldAccess access = {kUntaggedBase, 0, Handle<Name>::null(), type,
|
| - mach_type};
|
| - // TODO(titzer): using loads here just to force the representation is ugly.
|
| - Node* node = graph()->NewNode(simplified()->LoadField(access),
|
| - jsgraph.IntPtrConstant(0), graph()->start(),
|
| - graph()->start());
|
| - NodeProperties::SetBounds(node, Bounds(type));
|
| - return node;
|
| - }
|
| -
|
| Node* Use(Node* node, MachineType type) {
|
| if (type & kTypeInt32) {
|
| return graph()->NewNode(machine()->Int32LessThan(), node,
|
| @@ -1069,7 +1058,7 @@ TEST(LowerNumberToInt32_to_ChangeTaggedToInt32) {
|
| TEST(LowerNumberToInt32_to_TruncateFloat64ToInt32) {
|
| // NumberToInt32(x: kRepFloat64) used as kMachInt32
|
| TestingGraph t(Type::Number());
|
| - Node* p0 = t.ExampleWithTypeAndRep(Type::Number(), kMachFloat64);
|
| + Node* p0 = t.ExampleWithOutput(kMachFloat64);
|
| Node* trunc = t.graph()->NewNode(t.simplified()->NumberToInt32(), p0);
|
| Node* use = t.Use(trunc, kMachInt32);
|
| t.Return(use);
|
| @@ -1158,7 +1147,7 @@ TEST(LowerNumberToUint32_to_TruncateFloat64ToInt32_with_change) {
|
| TEST(LowerNumberToUint32_to_TruncateFloat64ToInt32_uint32) {
|
| // NumberToUint32(x: kRepFloat64) used as kRepWord32
|
| TestingGraph t(Type::Unsigned32());
|
| - Node* input = t.ExampleWithTypeAndRep(Type::Number(), kMachFloat64);
|
| + Node* input = t.ExampleWithOutput(kMachFloat64);
|
| Node* trunc = t.graph()->NewNode(t.simplified()->NumberToUint32(), input);
|
| Node* use = t.Use(trunc, kRepWord32);
|
| t.Return(use);
|
| @@ -1167,58 +1156,6 @@ TEST(LowerNumberToUint32_to_TruncateFloat64ToInt32_uint32) {
|
| }
|
|
|
|
|
| -TEST(LowerNumberToUI32_of_Float64_used_as_word32) {
|
| - // NumberTo(Int,Uint)32(x: kRepFloat64 | kType(Int,Uint)32) used as
|
| - // kType(Int,Uint)32 | kRepWord32
|
| - Type* types[] = {Type::Signed32(), Type::Unsigned32()};
|
| - MachineType mach[] = {kTypeInt32, kTypeUint32, kMachNone};
|
| -
|
| - for (int i = 0; i < 2; i++) {
|
| - for (int u = 0; u < 3; u++) {
|
| - TestingGraph t(types[i]);
|
| - Node* input = t.ExampleWithTypeAndRep(
|
| - types[i], static_cast<MachineType>(kRepFloat64 | mach[i]));
|
| - const Operator* op = i == 0 ? t.simplified()->NumberToInt32()
|
| - : t.simplified()->NumberToUint32();
|
| - Node* trunc = t.graph()->NewNode(op, input);
|
| - Node* use = t.Use(trunc, static_cast<MachineType>(kRepWord32 | mach[u]));
|
| - t.Return(use);
|
| - t.Lower();
|
| - IrOpcode::Value opcode = i == 0 ? IrOpcode::kChangeFloat64ToInt32
|
| - : IrOpcode::kChangeFloat64ToUint32;
|
| - CheckChangeOf(opcode, input, use->InputAt(0));
|
| - }
|
| - }
|
| -}
|
| -
|
| -
|
| -TEST(LowerNumberToUI32_of_Float64_used_as_tagged) {
|
| - // NumberTo(Int,Uint)32(x: kRepFloat64 | kType(Int,Uint)32) used as
|
| - // kType(Int,Uint)32 | kRepTagged
|
| - Type* types[] = {Type::Signed32(), Type::Unsigned32(), Type::Any()};
|
| - MachineType mach[] = {kTypeInt32, kTypeUint32, kMachNone};
|
| -
|
| - for (int i = 0; i < 2; i++) {
|
| - for (int u = 0; u < 3; u++) {
|
| - TestingGraph t(types[i]);
|
| - Node* input = t.ExampleWithTypeAndRep(
|
| - types[i], static_cast<MachineType>(kRepFloat64 | mach[i]));
|
| - const Operator* op = i == 0 ? t.simplified()->NumberToInt32()
|
| - : t.simplified()->NumberToUint32();
|
| - Node* trunc = t.graph()->NewNode(op, input);
|
| - // TODO(titzer): we use the store here to force the representation.
|
| - FieldAccess access = {kTaggedBase, 0, Handle<Name>(), types[u],
|
| - static_cast<MachineType>(mach[u] | kRepTagged)};
|
| - Node* store = t.graph()->NewNode(t.simplified()->StoreField(access), t.p0,
|
| - trunc, t.start, t.start);
|
| - t.Effect(store);
|
| - t.Lower();
|
| - CheckChangeOf(IrOpcode::kChangeFloat64ToTagged, input, store->InputAt(2));
|
| - }
|
| - }
|
| -}
|
| -
|
| -
|
| TEST(LowerReferenceEqual_to_wordeq) {
|
| TestingGraph t(Type::Any(), Type::Any());
|
| IrOpcode::Value opcode =
|
| @@ -1397,8 +1334,8 @@ Node* CheckElementAccessArithmetic(ElementAccess access, Node* load_or_store) {
|
| }
|
|
|
|
|
| -const MachineType kMachineReps[] = {kRepBit, kMachInt8, kMachInt16,
|
| - kMachInt32, kMachInt64, kMachFloat64,
|
| +const MachineType kMachineReps[] = {kMachInt8, kMachInt16, kMachInt32,
|
| + kMachUint32, kMachInt64, kMachFloat64,
|
| kMachAnyTagged};
|
|
|
| } // namespace
|
|
|