• Home
  • Raw
  • Download

Lines Matching refs:Node

42 class Node final {
44 static Node* New(Zone* zone, NodeId id, const Operator* op, int input_count,
45 Node* const* inputs, bool has_extensible_inputs);
46 static Node* Clone(Zone* zone, NodeId id, const Node* node);
82 Node* InputAt(int index) const { in InputAt()
87 void ReplaceInput(int index, Node* new_to) { in ReplaceInput()
89 Node** input_ptr = GetInputPtr(index); in ReplaceInput()
90 Node* old_to = *input_ptr; in ReplaceInput()
101 void AppendInput(Zone* zone, Node* new_to);
102 void InsertInput(Zone* zone, int index, Node* new_to);
108 void ReplaceUses(Node* replace_to);
120 explicit InputEdges(Node* node) : node_(node) {} in InputEdges()
123 Node* node_;
130 typedef Node* value_type;
138 explicit Inputs(Node* node) : node_(node) {} in Inputs()
141 Node* node_;
156 explicit UseEdges(Node* node) : node_(node) {} in UseEdges()
159 Node* node_;
166 typedef Node* value_type;
174 explicit Uses(Node* node) : node_(node) {} in Uses()
177 Node* node_;
183 bool OwnedBy(Node* owner) const { in OwnedBy()
188 bool OwnedBy(Node const* owner1, Node const* owner2) const;
196 Node* node_;
199 Node* inputs_[1];
202 void ExtractFrom(Use* use_ptr, Node** input_ptr, int count);
214 Node** input_ptr() { in input_ptr()
217 Node** inputs = is_inline_use() in input_ptr()
218 ? reinterpret_cast<Node*>(start)->inputs_.inline_ in input_ptr()
223 Node* from() { in from()
225 return is_inline_use() ? reinterpret_cast<Node*>(start) in from()
266 Node(NodeId id, const Operator* op, int inline_count, int inline_capacity);
268 Node* const* GetInputPtrConst(int input_index) const { in GetInputPtrConst()
272 Node** GetInputPtr(int input_index) { in GetInputPtr()
318 Node* inline_[1];
326 DISALLOW_COPY_AND_ASSIGN(Node);
330 std::ostream& operator<<(std::ostream& os, const Node& n);
334 typedef ZoneDeque<Node*> NodeDeque;
335 typedef ZoneSet<Node*> NodeSet;
336 typedef ZoneVector<Node*> NodeVector;
342 static inline const T& OpParameter(const Node* node) { in OpParameter()
352 Node* from() const { return use_->from(); } in from()
353 Node* to() const { return *input_ptr_; } in to()
363 void UpdateTo(Node* new_to) { in UpdateTo()
364 Node* old_to = *input_ptr_; in UpdateTo()
373 friend class Node::UseEdges::iterator;
374 friend class Node::InputEdges::iterator;
376 Edge(Node::Use* use, Node** input_ptr) : use_(use), input_ptr_(input_ptr) { in Edge()
382 Node::Use* use_;
383 Node** input_ptr_;
388 class Node::InputEdges::iterator final {
413 friend class Node;
415 explicit iterator(Node* from, int index = 0)
419 Node** input_ptr_;
423 Node::InputEdges::iterator Node::InputEdges::begin() const { in begin()
424 return Node::InputEdges::iterator(this->node_, 0); in begin()
428 Node::InputEdges::iterator Node::InputEdges::end() const { in end()
429 return Node::InputEdges::iterator(this->node_, this->node_->InputCount()); in end()
434 class Node::Inputs::const_iterator final {
438 typedef Node* value_type;
439 typedef Node** pointer;
440 typedef Node*& reference;
444 Node* operator*() const { return (*iter_).to(); }
458 friend class Node::Inputs;
460 const_iterator(Node* node, int index) : iter_(node, index) {} in const_iterator()
462 Node::InputEdges::iterator iter_;
466 Node::Inputs::const_iterator Node::Inputs::begin() const { in begin()
471 Node::Inputs::const_iterator Node::Inputs::end() const { in end()
477 class Node::UseEdges::iterator final {
496 friend class Node::UseEdges;
499 explicit iterator(Node* node) in iterator()
503 Node::Use* current_;
504 Node::Use* next_;
508 Node::UseEdges::iterator Node::UseEdges::begin() const { in begin()
509 return Node::UseEdges::iterator(this->node_); in begin()
513 Node::UseEdges::iterator Node::UseEdges::end() const { in end()
514 return Node::UseEdges::iterator(); in end()
519 class Node::Uses::const_iterator final {
523 typedef Node* value_type;
524 typedef Node** pointer;
525 typedef Node*& reference;
529 Node* operator*() const { return current_->from(); }
544 friend class Node::Uses;
547 explicit const_iterator(Node* node) : current_(node->first_use_) {} in const_iterator()
549 Node::Use* current_;
553 Node::Uses::const_iterator Node::Uses::begin() const { in begin()
558 Node::Uses::const_iterator Node::Uses::end() const { return const_iterator(); } in end()