5#ifndef V8_COMPILER_TURBOFAN_GRAPH_H_
6#define V8_COMPILER_TURBOFAN_GRAPH_H_
59 Node* NewNodeUnchecked(
const Operator* op,
int input_count,
60 Node*
const* inputs,
bool incomplete =
false);
64 bool incomplete =
false);
69 template <
typename... Nodes>
71 requires(std::conjunction_v<std::is_convertible<Nodes, Node*>...>)
73 std::array<
Node*,
sizeof...(nodes)> nodes_arr{
74 {
static_cast<Node*
>(nodes)...}};
75 return NewNode(op, nodes_arr.size(), nodes_arr.data());
90 void Decorate(
Node* node);
97 bool HasSimd()
const {
return has_simd_; }
98 void SetSimd(
bool has_simd) { has_simd_ = has_simd; }
100 void RecordSimdStore(
Node* store);
106 inline NodeId NextNodeId();
virtual ~GraphDecorator()=default
virtual void Decorate(Node *node)=0
SubgraphScope(TFGraph *graph)
SubgraphScope & operator=(const SubgraphScope &)=delete
SubgraphScope(const SubgraphScope &)=delete
void SetSimd(bool has_simd)
void SetStart(Node *start)
TFGraph & operator=(const TFGraph &)=delete
Node * NewNode(const Operator *op, Nodes... nodes)
ZoneVector< Node * > simd_stores_
TFGraph(const TFGraph &)=delete
ZoneVector< GraphDecorator * > decorators_
const v8::base::TimeTicks end_
#define NON_EXPORTED_BASE(code)
#define V8_EXPORT_PRIVATE