Commit 4d0768dc authored by bmeurer's avatar bmeurer Committed by Commit bot

[turbofan] The Check and Checked operators don't produce control.

These operators don't need to be part of the control chain.

Drive-by-fix: Properly wire the effects during representation selection.

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2073683002
Cr-Commit-Position: refs/heads/master@{#37018}
parent 886f6b33
......@@ -451,8 +451,7 @@ Node* RepresentationChanger::InsertConversion(Node* node, const Operator* op,
Node* effect = NodeProperties::GetEffectInput(use_node);
Node* control = NodeProperties::GetControlInput(use_node);
Node* conversion = jsgraph()->graph()->NewNode(op, node, effect, control);
NodeProperties::ReplaceControlInput(use_node, control);
NodeProperties::ReplaceEffectInput(use_node, effect);
NodeProperties::ReplaceEffectInput(use_node, conversion);
return conversion;
}
return jsgraph()->graph()->NewNode(op, node);
......
......@@ -1038,7 +1038,7 @@ class RepresentationSelector {
Node* control = NodeProperties::GetControlInput(node);
Node* arith = graph()->NewNode(op, node->InputAt(0), node->InputAt(1));
Node* overflow = graph()->NewNode(common()->Projection(1), arith);
control = effect =
effect =
graph()->NewNode(simplified()->CheckIf(), overflow, effect, control);
Node* value = graph()->NewNode(common()->Projection(0), arith);
......
......@@ -303,7 +303,7 @@ struct SimplifiedOperatorGlobalCache final {
struct Name##Operator final : public Operator { \
Name##Operator() \
: Operator(IrOpcode::k##Name, Operator::kNoThrow, #Name, 1, 1, 1, 1, \
1, 1) {} \
1, 0) {} \
}; \
Name##Operator k##Name;
CHECKED_OP_LIST(CHECKED)
......@@ -337,7 +337,7 @@ struct SimplifiedOperatorGlobalCache final {
struct CheckIfOperator final : public Operator {
CheckIfOperator()
: Operator(IrOpcode::kCheckIf, Operator::kFoldable, "CheckIf", 1, 1, 1,
0, 1, 1) {}
0, 1, 0) {}
};
CheckIfOperator kCheckIf;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment