Lines Matching refs:graph

124   PassObserver(HGraph* graph,
128 : graph_(graph),
132 disasm_info_(graph->GetArena()),
134 visualizer_(visualizer_output, graph, *codegen),
172 // Dump graph first, then start timer.
182 // Pause timer first, then dump graph.
231 // Flag to be set by the compiler if the pass failed and the graph is not
300 // Create a 'CompiledMethod' for an optimized graph.
310 // 1) Builds the graph. Returns null if it failed to build it.
311 // 2) Transforms the graph to SSA. Returns null if it failed.
312 // 3) Runs optimizations on the graph, including register allocator.
399 static void MaybeRunInliner(HGraph* graph,
413 HInliner* inliner = new (graph->GetArena()) HInliner(
414 graph,
415 graph,
430 HGraph* graph,
434 ArenaAllocator* arena = graph->GetArena();
439 arm::DexCacheArrayFixups* fixups = new (arena) arm::DexCacheArrayFixups(graph, stats);
441 new (arena) arm::InstructionSimplifierArm(graph, stats);
453 new (arena) arm64::InstructionSimplifierArm64(graph, stats);
454 SideEffectsAnalysis* side_effects = new (arena) SideEffectsAnalysis(graph);
455 GVNOptimization* gvn = new (arena) GVNOptimization(graph, *side_effects, "GVN_after_arch");
468 new (arena) x86::PcRelativeFixups(graph, codegen, stats);
482 static void AllocateRegisters(HGraph* graph,
488 PrepareForRegisterAllocation(graph).Run();
490 SsaLivenessAnalysis liveness(graph, codegen);
497 RegisterAllocator(graph->GetArena(), codegen, liveness).AllocateRegisters();
501 static void RunOptimizations(HGraph* graph,
508 ArenaAllocator* arena = graph->GetArena();
510 graph, stats, HDeadCodeElimination::kInitialDeadCodeEliminationPassName);
512 graph, stats, HDeadCodeElimination::kFinalDeadCodeEliminationPassName);
513 HConstantFolding* fold1 = new (arena) HConstantFolding(graph);
514 InstructionSimplifier* simplify1 = new (arena) InstructionSimplifier(graph, stats);
515 HSelectGenerator* select_generator = new (arena) HSelectGenerator(graph, stats);
516 HConstantFolding* fold2 = new (arena) HConstantFolding(graph, "constant_folding_after_inlining");
517 HConstantFolding* fold3 = new (arena) HConstantFolding(graph, "constant_folding_after_bce");
518 SideEffectsAnalysis* side_effects = new (arena) SideEffectsAnalysis(graph);
519 GVNOptimization* gvn = new (arena) GVNOptimization(graph, *side_effects);
520 LICM* licm = new (arena) LICM(graph, *side_effects, stats);
521 LoadStoreElimination* lse = new (arena) LoadStoreElimination(graph, *side_effects);
522 HInductionVarAnalysis* induction = new (arena) HInductionVarAnalysis(graph);
523 BoundsCheckElimination* bce = new (arena) BoundsCheckElimination(graph, *side_effects, induction);
524 HSharpening* sharpening = new (arena) HSharpening(graph, codegen, dex_compilation_unit, driver);
526 graph, stats, "instruction_simplifier_after_bce");
528 graph, stats, "instruction_simplifier_before_codegen");
529 IntrinsicsRecognizer* intrinsics = new (arena) IntrinsicsRecognizer(graph, driver, stats);
540 MaybeRunInliner(graph, codegen, driver, stats, dex_compilation_unit, pass_observer, handles);
563 RunArchOptimizations(driver->GetInstructionSet(), graph, codegen, stats, pass_observer);
564 AllocateRegisters(graph, codegen, pass_observer);
673 HGraph* graph = new (arena) HGraph(
696 graph->SetArtMethod(method);
712 CodeGenerator::Create(graph,
724 PassObserver pass_observer(graph,
739 HGraphBuilder builder(graph,
772 RunOptimizations(graph,