Lines Matching refs:Node
10 #include "src/compiler/node.h"
11 #include "src/compiler/node-properties.h"
26 Reduction SelectLowering::Reduce(Node* node) {
27 if (node->opcode() != IrOpcode::kSelect) return NoChange();
28 SelectParameters const p = SelectParametersOf(node->op());
30 Node* cond = node->InputAt(0);
31 Node* vthen = node->InputAt(1);
32 Node* velse = node->InputAt(2);
33 Node* merge = nullptr;
39 // Create a new diamond for this condition and remember its merge node.
49 if (!ReachableFrom(merge, node)) {
55 node->ReplaceInput(0, vthen);
56 node->ReplaceInput(1, velse);
57 node->ReplaceInput(2, merge);
58 NodeProperties::ChangeOp(node, common()->Phi(p.representation(), 2));
59 return Changed(node);
63 bool SelectLowering::ReachableFrom(Node* const sink, Node* const source) {
65 // into node.h or somewhere else?!
67 std::queue<Node*, NodeDeque> queue((NodeDeque(&zone)));
72 Node* current = queue.front();