Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Side by Side Diff: test/cctest/compiler/test-simplified-lowering.cc

Issue 1580353003: [turbofan] Avoid using the typer's types in representation inference for phis. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Remove dead code Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/simplified-lowering.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <limits> 5 #include <limits>
6 6
7 #include "src/ast/scopes.h" 7 #include "src/ast/scopes.h"
8 #include "src/compiler/access-builder.h" 8 #include "src/compiler/access-builder.h"
9 #include "src/compiler/change-lowering.h" 9 #include "src/compiler/change-lowering.h"
10 #include "src/compiler/control-builders.h" 10 #include "src/compiler/control-builders.h"
(...skipping 890 matching lines...) Expand 10 before | Expand all | Expand 10 after
901 901
902 TEST(LowerBooleanToNumber_bit_tagged) { 902 TEST(LowerBooleanToNumber_bit_tagged) {
903 // BooleanToNumber(x: kRepBit) used as MachineType::AnyTagged() 903 // BooleanToNumber(x: kRepBit) used as MachineType::AnyTagged()
904 TestingGraph t(Type::Boolean()); 904 TestingGraph t(Type::Boolean());
905 Node* b = t.ExampleWithOutput(MachineType::Bool()); 905 Node* b = t.ExampleWithOutput(MachineType::Bool());
906 Node* cnv = t.graph()->NewNode(t.simplified()->BooleanToNumber(), b); 906 Node* cnv = t.graph()->NewNode(t.simplified()->BooleanToNumber(), b);
907 Node* use = t.Use(cnv, MachineType::AnyTagged()); 907 Node* use = t.Use(cnv, MachineType::AnyTagged());
908 t.Return(use); 908 t.Return(use);
909 t.Lower(); 909 t.Lower();
910 CHECK_EQ(b, use->InputAt(0)->InputAt(0)); 910 CHECK_EQ(b, use->InputAt(0)->InputAt(0));
911 CHECK_EQ(IrOpcode::kChangeInt32ToTagged, use->InputAt(0)->opcode()); 911 CHECK_EQ(IrOpcode::kChangeUint32ToTagged, use->InputAt(0)->opcode());
912 } 912 }
913 913
914 914
915 TEST(LowerBooleanToNumber_tagged_tagged) { 915 TEST(LowerBooleanToNumber_tagged_tagged) {
916 // BooleanToNumber(x: kRepTagged) used as MachineType::AnyTagged() 916 // BooleanToNumber(x: kRepTagged) used as MachineType::AnyTagged()
917 TestingGraph t(Type::Boolean()); 917 TestingGraph t(Type::Boolean());
918 Node* b = t.p0; 918 Node* b = t.p0;
919 Node* cnv = t.graph()->NewNode(t.simplified()->BooleanToNumber(), b); 919 Node* cnv = t.graph()->NewNode(t.simplified()->BooleanToNumber(), b);
920 Node* use = t.Use(cnv, MachineType::AnyTagged()); 920 Node* use = t.Use(cnv, MachineType::AnyTagged());
921 t.Return(use); 921 t.Return(use);
922 t.Lower(); 922 t.Lower();
923 CHECK_EQ(cnv, use->InputAt(0)->InputAt(0)); 923 CHECK_EQ(cnv, use->InputAt(0)->InputAt(0));
924 CHECK_EQ(IrOpcode::kChangeInt32ToTagged, use->InputAt(0)->opcode()); 924 CHECK_EQ(IrOpcode::kChangeUint32ToTagged, use->InputAt(0)->opcode());
925 CHECK_EQ(t.machine()->WordEqual()->opcode(), cnv->opcode()); 925 CHECK_EQ(t.machine()->WordEqual()->opcode(), cnv->opcode());
926 CHECK(b == cnv->InputAt(0) || b == cnv->InputAt(1)); 926 CHECK(b == cnv->InputAt(0) || b == cnv->InputAt(1));
927 Node* c = t.jsgraph.TrueConstant(); 927 Node* c = t.jsgraph.TrueConstant();
928 CHECK(c == cnv->InputAt(0) || c == cnv->InputAt(1)); 928 CHECK(c == cnv->InputAt(0) || c == cnv->InputAt(1));
929 } 929 }
930 930
931 931
932 static Type* test_types[] = {Type::Signed32(), Type::Unsigned32(), 932 static Type* test_types[] = {Type::Signed32(), Type::Unsigned32(),
933 Type::Number(), Type::Any()}; 933 Type::Number(), Type::Any()};
934 934
(...skipping 1028 matching lines...) Expand 10 before | Expand all | Expand 10 after
1963 t.Return(use); 1963 t.Return(use);
1964 t.Lower(); 1964 t.Lower();
1965 1965
1966 CHECK_EQ(d.expected, PhiRepresentationOf(phi->op())); 1966 CHECK_EQ(d.expected, PhiRepresentationOf(phi->op()));
1967 } 1967 }
1968 } 1968 }
1969 1969
1970 } // namespace compiler 1970 } // namespace compiler
1971 } // namespace internal 1971 } // namespace internal
1972 } // namespace v8 1972 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/simplified-lowering.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698