Lines Matching refs:Graph
21 #include "src/compiler/bytecode-graph-builder.h"
34 #include "src/compiler/graph-trimmer.h"
35 #include "src/compiler/graph-visualizer.h"
54 #include "src/compiler/machine-graph-verifier.h"
126 graph_ = new (graph_zone_) Graph(graph_zone_);
163 graph_(mcgraph->graph()),
177 // For machine graph testing entry point.
179 Isolate* isolate, Graph* graph, Schedule* schedule,
189 graph_(graph),
254 Graph* graph() const { return graph_; }
441 Graph* graph_ = nullptr;
499 // Step A. Run the graph creation and initial optimization passes.
505 // Substep B.1. Produce a scheduled graph.
508 // Substep B.2. Select instructions from a scheduled graph.
1044 GraphReducer graph_reducer(scope.zone(), data->graph(),
1046 DeadCodeElimination dead_code_elimination(&graph_reducer, data->graph(),
1048 ValueNumberingReducer value_numbering(scope.zone(), data->graph()->zone());
1050 CommonOperatorReducer common_reducer(&graph_reducer, data->graph(),
1060 GraphReducer graph_reducer(scope.zone(), data->graph(),
1062 ValueNumberingReducer value_numbering(scope.zone(), data->graph()->zone());
1138 static const char* phase_name() { return "bytecode graph builder"; }
1189 GraphReducer graph_reducer(temp_zone, data->graph(),
1191 DeadCodeElimination dead_code_elimination(&graph_reducer, data->graph(),
1194 CommonOperatorReducer common_reducer(&graph_reducer, data->graph(),
1245 LoopVariableOptimizer induction_vars(data->jsgraph()->graph(),
1274 GraphReducer graph_reducer(temp_zone, data->graph(),
1288 GraphReducer graph_reducer(temp_zone, data->graph(),
1301 GraphReducer graph_reducer(temp_zone, data->graph(),
1303 DeadCodeElimination dead_code_elimination(&graph_reducer, data->graph(),
1318 CommonOperatorReducer common_reducer(&graph_reducer, data->graph(),
1340 GraphReducer reducer(temp_zone, data->graph(), data->jsgraph()->Dead());
1367 GraphTrimmer trimmer(temp_zone, data->graph());
1373 LoopFinder::BuildLoopTree(data->jsgraph()->graph(), temp_zone);
1374 LoopPeeler(data->graph(), data->common(), loop_tree, temp_zone,
1384 LoopPeeler::EliminateLoopExits(data->graph(), temp_zone);
1418 GraphReducer graph_reducer(temp_zone, data->graph(),
1430 GraphReducer graph_reducer(temp_zone, data->graph(),
1432 DeadCodeElimination dead_code_elimination(&graph_reducer, data->graph(),
1437 ValueNumberingReducer value_numbering(temp_zone, data->graph()->zone());
1439 CommonOperatorReducer common_reducer(&graph_reducer, data->graph(),
1456 ControlFlowOptimizer optimizer(data->graph(), data->common(),
1470 GraphTrimmer trimmer(temp_zone, data->graph());
1475 // Schedule the graph without node splitting so that we can
1479 Schedule* schedule = Scheduler::ComputeSchedule(temp_zone, data->graph(),
1502 // run {DeadCodeElimination} to prune these parts of the graph.
1506 GraphReducer graph_reducer(temp_zone, data->graph(),
1508 DeadCodeElimination dead_code_elimination(&graph_reducer, data->graph(),
1511 &graph_reducer, data->graph(), data->js_heap_broker(), data->common(),
1524 GraphTrimmer trimmer(temp_zone, data->graph());
1537 GraphReducer graph_reducer(temp_zone, data->graph(),
1541 DeadCodeElimination dead_code_elimination(&graph_reducer, data->graph(),
1547 ValueNumberingReducer value_numbering(temp_zone, data->graph()->zone());
1548 CommonOperatorReducer common_reducer(&graph_reducer, data->graph(),
1573 GraphTrimmer trimmer(temp_zone, data->graph());
1592 GraphReducer graph_reducer(temp_zone, data->graph(),
1596 DeadCodeElimination dead_code_elimination(&graph_reducer, data->graph(),
1598 ValueNumberingReducer value_numbering(temp_zone, data->graph()->zone());
1600 CommonOperatorReducer common_reducer(&graph_reducer, data->graph(),
1603 SelectLowering select_lowering(data->jsgraph()->graph(),
1618 GraphTrimmer trimmer(temp_zone, data->graph());
1627 static const char* phase_name() { return "late graph trimming"; }
1629 GraphTrimmer trimmer(temp_zone, data->graph());
1644 temp_zone, data->graph(), data->info()->is_splitting_enabled()
1689 temp_zone, data->graph()->NodeCount(), linkage, data->sequence(),
1910 Graph* graph = data->graph();
1916 json_of << "{\"name\":\"" << phase << "\",\"type\":\"graph\",\"data\":"
1917 << AsJSON(*graph, data->source_positions(), data->node_origins())
1925 schedule = Scheduler::ComputeSchedule(temp_zone, data->graph(),
1932 os << "-- Graph after " << phase << " -- " << std::endl;
1938 os << "-- Graph after " << phase << " -- " << std::endl;
1939 os << AsRPO(*graph);
1962 Verifier::Run(data->graph(), !untyped ? Verifier::TYPED : Verifier::UNTYPED,
1981 data->BeginPhaseKind("graph creation");
2008 // Remove dead->live edges from the graph.
2012 // Run the type-sensitive lowerings and optimizations on the graph.
2026 // Type the graph and keep the Typer running on newly created nodes within
2027 // this scope; the Typer is automatically unlinked from the Graph once we
2029 Typer typer(isolate(), data->js_heap_broker(), flags, data->graph());
2090 // essentially need to re-type (large portions of) the graph.
2144 Isolate* isolate, CallDescriptor* call_descriptor, Graph* graph,
2148 OptimizedCompilationInfo info(CStrVector(debug_name), graph->zone(), kind);
2158 graph);
2159 NodeOriginTable node_origins(graph);
2160 PipelineData data(&zone_stats, &info, isolate, graph, schedule,
2222 CallDescriptor* call_descriptor, Graph* graph,
2230 source_positions = new (info->zone()) SourcePositionTable(graph);
2231 NodeOriginTable* node_positions = new (info->zone()) NodeOriginTable(graph);
2232 PipelineData data(&zone_stats, info, isolate, graph, schedule,
2302 // We should only schedule the graph if it is not scheduled yet.
2316 // We should have a scheduled graph.
2317 DCHECK_NOT_NULL(data->graph());
2322 info(), data->graph(), data->schedule(), data->isolate()));
2328 // violate the machine graph verification rules. So we skip the second
2329 // verification on a graph that already verified before.
2351 MachineGraphVerifier::Run(data->graph(), data->schedule(), linkage,
2359 // Select and schedule instructions covering the scheduled graph.
2376 // Output source position information before the graph is deleted.