Index: src/compiler/typer.cc |
diff --git a/src/compiler/typer.cc b/src/compiler/typer.cc |
index ba26eea148e31fb7da1f3736215b957b28ff827b..312f84899cfff6b4fa746be2a68ba2a4503bd94e 100644 |
--- a/src/compiler/typer.cc |
+++ b/src/compiler/typer.cc |
@@ -97,6 +97,7 @@ class Typer::Visitor : public Reducer { |
COMMON_OP_LIST(DECLARE_CASE) |
SIMPLIFIED_OP_LIST(DECLARE_CASE) |
MACHINE_OP_LIST(DECLARE_CASE) |
+ MACHINE_SIMD_OP_LIST(DECLARE_CASE) |
JS_SIMPLE_UNOP_LIST(DECLARE_CASE) |
JS_OBJECT_OP_LIST(DECLARE_CASE) |
JS_CONTEXT_OP_LIST(DECLARE_CASE) |
@@ -143,6 +144,7 @@ class Typer::Visitor : public Reducer { |
COMMON_OP_LIST(DECLARE_CASE) |
SIMPLIFIED_OP_LIST(DECLARE_CASE) |
MACHINE_OP_LIST(DECLARE_CASE) |
+ MACHINE_SIMD_OP_LIST(DECLARE_CASE) |
JS_SIMPLE_UNOP_LIST(DECLARE_CASE) |
JS_OBJECT_OP_LIST(DECLARE_CASE) |
JS_CONTEXT_OP_LIST(DECLARE_CASE) |
@@ -2561,8 +2563,24 @@ Type* Typer::Visitor::TypeWord32PairShr(Node* node) { return Type::Internal(); } |
Type* Typer::Visitor::TypeWord32PairSar(Node* node) { return Type::Internal(); } |
-// Heap constants. |
+// SIMD type methods. |
+ |
+#define SIMD_RETURN_SIMD(Name) \ |
+ Type* Typer::Visitor::Type##Name(Node* node) { return Type::Simd(); } |
+MACHINE_SIMD_RETURN_SIMD_OP_LIST(SIMD_RETURN_SIMD) |
+#undef SIMD_RETURN_SIMD |
+ |
+#define SIMD_RETURN_NUM(Name) \ |
+ Type* Typer::Visitor::Type##Name(Node* node) { return Type::Number(); } |
+MACHINE_SIMD_RETURN_NUM_OP_LIST(SIMD_RETURN_NUM) |
+#undef SIMD_RETURN_NUM |
+#define SIMD_RETURN_BOOL(Name) \ |
+ Type* Typer::Visitor::Type##Name(Node* node) { return Type::Boolean(); } |
+MACHINE_SIMD_RETURN_BOOL_OP_LIST(SIMD_RETURN_BOOL) |
+#undef SIMD_RETURN_BOOL |
+ |
+// Heap constants. |
Type* Typer::Visitor::TypeConstant(Handle<Object> value) { |
if (value->IsJSTypedArray()) { |