Lines Matching defs:node
25 void SimplifiedLoweringVerifier::CheckType(Node* node, const Type& type) {
26 CHECK(NodeProperties::IsTyped(node));
27 Type node_type = NodeProperties::GetType(node);
35 "SimplifiedLoweringVerifierError: verified type %s of node #%d:%s "
37 type_str.str().c_str(), node->id(), node->op()->mnemonic(),
42 void SimplifiedLoweringVerifier::CheckAndSet(Node* node, const Type& type,
46 if (NodeProperties::IsTyped(node)) {
47 CheckType(node, type);
50 // the node's type directly, because following phases might encounter
52 SetType(node, type);
54 SetTruncation(node, GeneralizeTruncation(trunc, type));
99 void SimplifiedLoweringVerifier::VisitNode(Node* node,
101 switch (node->opcode()) {
109 Type input_type = InputType(node, 0);
112 const auto& p = CheckMinusZeroParametersOf(node->op());
121 CheckAndSet(node, input_type, Truncation::Word32());
126 op_typer.NumberAdd(InputType(node, 0), InputType(node, 1));
127 Truncation output_trunc = LeastGeneralTruncation(InputTruncation(node, 0),
128 InputTruncation(node, 1),
131 CheckAndSet(node, output_type, output_trunc);
136 op_typer.NumberSubtract(InputType(node, 0), InputType(node, 1));
137 Truncation output_trunc = LeastGeneralTruncation(InputTruncation(node, 0),
138 InputTruncation(node, 1),
141 CheckAndSet(node, output_type, output_trunc);
147 CheckAndSet(node, InputType(node, 0), InputTruncation(node, 0));
153 CheckAndSet(node, InputType(node, 0), InputTruncation(node, 0));
157 Type left_type = InputType(node, 0);
158 Type right_type = InputType(node, 1);
176 "%s and %s for node #%d:%s",
177 left_str.str().c_str(), right_str.str().c_str(), node->id(),
178 node->op()->mnemonic());
181 Truncation output_trunc = LeastGeneralTruncation(InputTruncation(node, 0),
182 InputTruncation(node, 1),
185 CheckAndSet(node, output_type, output_trunc);
191 CheckAndSet(node, InputType(node, 0), InputTruncation(node, 0));
195 CheckAndSet(node, Type::None(), Truncation::Any());
199 Type output_type = op_typer.TypeTypeGuard(node->op(), InputType(node, 0));
202 CheckAndSet(node, output_type, InputTruncation(node, 0));
206 Type input_type = InputType(node, 0);
208 CHECK(Truncation::Word64().IsLessGeneralThan(InputTruncation(node, 0)));
209 CheckAndSet(node, input_type, Truncation::Word64());
213 Type input_type = InputType(node, 0);
215 Truncation output_trunc = LeastGeneralTruncation(InputTruncation(node, 0),
217 CheckAndSet(node, input_type, output_trunc);
221 Type input_type = InputType(node, 0);
223 CheckAndSet(node, input_type, InputTruncation(node, 0));
227 const int return_value_count = ValueInputCountOfReturn(node->op());
229 Type input_type = InputType(node, 1 + i);
230 Truncation input_trunc = InputTruncation(node, 1 + i);
238 Type output_type = InputType(node, 0);
239 Truncation output_trunc = InputTruncation(node, 0);
240 const auto& p = SLVerifierHintParametersOf(node->op());
250 CheckType(node, output_type);
257 SetType(node, output_type);
258 SetTruncation(node, GeneralizeTruncation(output_trunc, output_type));