/art/compiler/optimizing/ |
D | find_loops_test.cc | 34 HGraph* graph = builder.BuildGraph(*item); in TestCode() local 35 graph->BuildDominatorTree(); in TestCode() 36 graph->FindNaturalLoops(); in TestCode() 37 return graph; in TestCode() 47 HGraph* graph = TestCode(data, &arena); in TEST() local 48 for (size_t i = 0, e = graph->GetBlocks().Size(); i < e; ++i) { in TEST() 49 ASSERT_EQ(graph->GetBlocks().Get(i)->GetLoopInformation(), nullptr); in TEST() 59 HGraph* graph = TestCode(data, &arena); in TEST() local 60 for (size_t i = 0, e = graph->GetBlocks().Size(); i < e; ++i) { in TEST() 61 ASSERT_EQ(graph->GetBlocks().Get(i)->GetLoopInformation(), nullptr); in TEST() [all …]
|
D | graph_test.cc | 28 static HBasicBlock* createIfBlock(HGraph* graph, ArenaAllocator* allocator) { in createIfBlock() argument 29 HBasicBlock* if_block = new (allocator) HBasicBlock(graph); in createIfBlock() 30 graph->AddBlock(if_block); in createIfBlock() 40 static HBasicBlock* createGotoBlock(HGraph* graph, ArenaAllocator* allocator) { in createGotoBlock() argument 41 HBasicBlock* block = new (allocator) HBasicBlock(graph); in createGotoBlock() 42 graph->AddBlock(block); in createGotoBlock() 48 static HBasicBlock* createReturnBlock(HGraph* graph, ArenaAllocator* allocator) { in createReturnBlock() argument 49 HBasicBlock* block = new (allocator) HBasicBlock(graph); in createReturnBlock() 50 graph->AddBlock(block); in createReturnBlock() 56 static HBasicBlock* createExitBlock(HGraph* graph, ArenaAllocator* allocator) { in createExitBlock() argument [all …]
|
D | optimizing_compiler.cc | 108 HGraph* graph = builder.BuildGraph(*code_item); in TryCompile() local 109 if (graph == nullptr) { in TryCompile() 116 CodeGenerator* codegen = CodeGenerator::Create(&arena, graph, instruction_set); in TryCompile() 125 visualizer_output_.get(), graph, kStringFilter, *codegen, dex_compilation_unit); in TryCompile() 130 if (RegisterAllocator::CanAllocateRegistersFor(*graph, instruction_set)) { in TryCompile() 131 graph->BuildDominatorTree(); in TryCompile() 132 graph->TransformToSSA(); in TryCompile() 134 graph->FindNaturalLoops(); in TryCompile() 136 SsaRedundantPhiElimination(graph).Run(); in TryCompile() 137 SsaDeadPhiElimination(graph).Run(); in TryCompile() [all …]
|
D | live_ranges_test.cc | 33 HGraph* graph = builder.BuildGraph(*item); in BuildGraph() local 34 graph->BuildDominatorTree(); in BuildGraph() 35 graph->TransformToSSA(); in BuildGraph() 36 graph->FindNaturalLoops(); in BuildGraph() 37 return graph; in BuildGraph() 59 HGraph* graph = BuildGraph(data, &allocator); in TEST() local 61 CodeGenerator* codegen = CodeGenerator::Create(&allocator, graph, InstructionSet::kX86); in TEST() 62 SsaLivenessAnalysis liveness(*graph, codegen); in TEST() 70 HBasicBlock* block = graph->GetBlocks().Get(1); in TEST() 106 HGraph* graph = BuildGraph(data, &allocator); in TEST() local [all …]
|
D | register_allocator_test.cc | 39 HGraph* graph = builder.BuildGraph(*item); in Check() local 40 graph->BuildDominatorTree(); in Check() 41 graph->TransformToSSA(); in Check() 42 graph->FindNaturalLoops(); in Check() 43 CodeGenerator* codegen = CodeGenerator::Create(&allocator, graph, kX86); in Check() 44 SsaLivenessAnalysis liveness(*graph, codegen); in Check() 58 HGraph* graph = new (&allocator) HGraph(&allocator); in TEST() local 59 CodeGenerator* codegen = CodeGenerator::Create(&allocator, graph, kX86); in TEST() 253 HGraph* graph = builder.BuildGraph(*item); in BuildSSAGraph() local 254 graph->BuildDominatorTree(); in BuildSSAGraph() [all …]
|
D | ssa_phi_elimination.h | 30 explicit SsaDeadPhiElimination(HGraph* graph) in SsaDeadPhiElimination() argument 31 : graph_(graph), worklist_(graph->GetArena(), kDefaultWorklistSize) {} in SsaDeadPhiElimination() 52 explicit SsaRedundantPhiElimination(HGraph* graph) in SsaRedundantPhiElimination() argument 53 : graph_(graph), worklist_(graph->GetArena(), kDefaultWorklistSize) {} in SsaRedundantPhiElimination()
|
D | ssa_builder.h | 28 explicit SsaBuilder(HGraph* graph) in SsaBuilder() argument 29 : HGraphVisitor(graph), in SsaBuilder() 31 loop_headers_(graph->GetArena(), kDefaultNumberOfLoops), in SsaBuilder() 32 locals_for_(graph->GetArena(), graph->GetBlocks().Size()) { in SsaBuilder() 33 locals_for_.SetSize(graph->GetBlocks().Size()); in SsaBuilder()
|
D | ssa_test.cc | 33 explicit SsaPrettyPrinter(HGraph* graph) : HPrettyPrinter(graph), str_("") {} in SsaPrettyPrinter() argument 65 static void ReNumberInstructions(HGraph* graph) { in ReNumberInstructions() argument 67 for (size_t i = 0, e = graph->GetBlocks().Size(); i < e; ++i) { in ReNumberInstructions() 68 HBasicBlock* block = graph->GetBlocks().Get(i); in ReNumberInstructions() 83 HGraph* graph = builder.BuildGraph(*item); in TestCode() local 84 ASSERT_NE(graph, nullptr); in TestCode() 86 graph->BuildDominatorTree(); in TestCode() 87 graph->TransformToSSA(); in TestCode() 88 ReNumberInstructions(graph); in TestCode() 91 for (size_t i = 0, e = graph->GetBlocks().Size(); i < e; ++i) { in TestCode() [all …]
|
D | linearize_test.cc | 41 HGraph* graph = builder.BuildGraph(*item); in TestCode() local 42 ASSERT_NE(graph, nullptr); in TestCode() 44 graph->BuildDominatorTree(); in TestCode() 45 graph->TransformToSSA(); in TestCode() 46 graph->FindNaturalLoops(); in TestCode() 48 CodeGenerator* codegen = CodeGenerator::Create(&allocator, graph, InstructionSet::kX86); in TestCode() 49 SsaLivenessAnalysis liveness(*graph, codegen); in TestCode()
|
D | dominator_test.cc | 32 HGraph* graph = builder.BuildGraph(*item); in TestCode() local 33 ASSERT_NE(graph, nullptr); in TestCode() 34 graph->BuildDominatorTree(); in TestCode() 35 ASSERT_EQ(graph->GetBlocks().Size(), blocks_length); in TestCode() 38 ASSERT_EQ(nullptr, graph->GetBlocks().Get(i)->GetDominator()); in TestCode() 40 ASSERT_NE(nullptr, graph->GetBlocks().Get(i)->GetDominator()); in TestCode() 41 ASSERT_EQ(blocks[i], graph->GetBlocks().Get(i)->GetDominator()->GetBlockId()); in TestCode()
|
D | liveness_test.cc | 47 HGraph* graph = builder.BuildGraph(*item); in TestCode() local 48 ASSERT_NE(graph, nullptr); in TestCode() 49 graph->BuildDominatorTree(); in TestCode() 50 graph->TransformToSSA(); in TestCode() 51 graph->FindNaturalLoops(); in TestCode() 52 CodeGenerator* codegen = CodeGenerator::Create(&allocator, graph, InstructionSet::kX86); in TestCode() 53 SsaLivenessAnalysis liveness(*graph, codegen); in TestCode() 57 for (HInsertionOrderIterator it(*graph); !it.Done(); it.Advance()) { in TestCode()
|
D | ssa_type_propagation.h | 27 explicit SsaTypePropagation(HGraph* graph) in SsaTypePropagation() argument 28 : graph_(graph), worklist_(graph->GetArena(), kDefaultWorklistSize) {} in SsaTypePropagation()
|
D | code_generator.h | 76 HGraph* graph, 143 CodeGenerator(HGraph* graph, size_t number_of_registers) in CodeGenerator() argument 145 graph_(graph), in CodeGenerator() 146 block_labels_(graph->GetArena(), 0), in CodeGenerator() 147 pc_infos_(graph->GetArena(), 32), in CodeGenerator() 148 slow_paths_(graph->GetArena(), 8), in CodeGenerator() 149 blocked_registers_(graph->GetArena()->AllocArray<bool>(number_of_registers)), in CodeGenerator()
|
D | graph_visualizer.cc | 31 HGraphVisualizerPrinter(HGraph* graph, in HGraphVisualizerPrinter() argument 35 : HGraphVisitor(graph), in HGraphVisualizerPrinter() 243 HGraph* graph, in HGraphVisualizer() argument 247 : output_(output), graph_(graph), codegen_(codegen), is_enabled_(false) { in HGraphVisualizer() 257 HGraphVisualizerPrinter printer(graph, *output_, "", codegen_); in HGraphVisualizer() 266 HGraph* graph, in HGraphVisualizer() argument 269 : output_(output), graph_(graph), codegen_(codegen), is_enabled_(false) { in HGraphVisualizer() 275 HGraphVisualizerPrinter printer(graph, *output_, "", codegen_); in HGraphVisualizer()
|
D | pretty_printer.h | 27 explicit HPrettyPrinter(HGraph* graph) : HGraphVisitor(graph) { } in HPrettyPrinter() argument 106 explicit StringPrettyPrinter(HGraph* graph) in StringPrettyPrinter() argument 107 : HPrettyPrinter(graph), str_(""), current_block_(nullptr) { } in StringPrettyPrinter()
|
D | graph_visualizer.h | 44 HGraph* graph, 54 HGraph* graph,
|
D | codegen_test.cc | 74 HGraph* graph = builder.BuildGraph(*item); in TestCode() local 75 ASSERT_NE(graph, nullptr); in TestCode() 78 CodeGenerator* codegen = CodeGenerator::Create(&arena, graph, kX86); in TestCode() 86 codegen = CodeGenerator::Create(&arena, graph, kArm); in TestCode() 92 codegen = CodeGenerator::Create(&arena, graph, kX86_64); in TestCode()
|
D | code_generator_x86_64.h | 84 LocationsBuilderX86_64(HGraph* graph, CodeGeneratorX86_64* codegen) in LocationsBuilderX86_64() argument 85 : HGraphVisitor(graph), codegen_(codegen) {} in LocationsBuilderX86_64() 103 InstructionCodeGeneratorX86_64(HGraph* graph, CodeGeneratorX86_64* codegen); 125 explicit CodeGeneratorX86_64(HGraph* graph);
|
D | code_generator_x86.h | 87 LocationsBuilderX86(HGraph* graph, CodeGeneratorX86* codegen) in LocationsBuilderX86() argument 88 : HGraphVisitor(graph), codegen_(codegen) {} in LocationsBuilderX86() 106 InstructionCodeGeneratorX86(HGraph* graph, CodeGeneratorX86* codegen); 128 explicit CodeGeneratorX86(HGraph* graph);
|
/art/compiler/sea_ir/types/ |
D | type_inference.cc | 39 FunctionTypeInfo::FunctionTypeInfo(const SeaGraph* graph, art::verifier::RegTypeCache* types) in FunctionTypeInfo() argument 40 : dex_file_(graph->GetDexFile()), dex_method_idx_(graph->method_idx_), type_cache_(types), in FunctionTypeInfo() 41 method_access_flags_(graph->method_access_flags_) { in FunctionTypeInfo() 47 FunctionTypeInfo::FunctionTypeInfo(const SeaGraph* graph, InstructionNode* inst, in FunctionTypeInfo() argument 48 art::verifier::RegTypeCache* types): dex_file_(graph->GetDexFile()), in FunctionTypeInfo() 143 void TypeInference::ComputeTypes(SeaGraph* graph) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { in ComputeTypes() argument 144 std::vector<Region*>* regions = graph->GetRegions(); in ComputeTypes() 154 TypeInferenceVisitor tiv(graph, &type_data_, type_cache_); in ComputeTypes() 156 graph->Accept(&tiv); in ComputeTypes()
|
D | type_inference_visitor.h | 37 TypeInferenceVisitor(SeaGraph* graph, TypeData* type_data, in TypeInferenceVisitor() argument 39 graph_(graph), type_data_(type_data), type_cache_(types), crt_type_() { in TypeInferenceVisitor() 42 void Initialize(SeaGraph* graph) { } in Initialize() argument 43 void Visit(SeaGraph* graph);
|
D | type_inference.h | 38 void ComputeTypes(SeaGraph* graph); 56 FunctionTypeInfo(const SeaGraph* graph, art::verifier::RegTypeCache* types); 63 FunctionTypeInfo(const SeaGraph* graph, InstructionNode* inst,
|
/art/compiler/sea_ir/debug/ |
D | dot_gen.h | 44 virtual void Initialize(SeaGraph* graph); 48 void Visit(SeaGraph* graph) { in Visit() argument 102 void DumpSea(SeaGraph* graph, std::string filename, in DumpSea() argument 106 graph->Accept(&dgv); in DumpSea()
|
/art/compiler/sea_ir/code_gen/ |
D | code_gen.cc | 39 void CodeGenPassVisitor::Initialize(SeaGraph* graph) { in Initialize() argument 42 for (std::vector<Region*>::const_iterator cit = graph->GetRegions()->begin(); in Initialize() 43 cit != graph->GetRegions()->end(); cit++ ) { in Initialize() 59 void CodeGenPostpassVisitor::Visit(SeaGraph* graph) { } in Visit() argument 60 void CodeGenVisitor::Visit(SeaGraph* graph) { } in Visit() argument 61 void CodeGenPrepassVisitor::Visit(SeaGraph* graph) { in Visit() argument 62 std::vector<SignatureNode*>* parameters = graph->GetParameterNodes(); in Visit() 69 const Type* param_type = graph->ti_->type_data_.FindTypeOf((*param_iterator)->Id()); in Visit() 70 DCHECK(param_type->Equals(graph->ti_->type_cache_->Integer())) in Visit() 76 const Type* return_type = graph->ti_->type_data_.FindTypeOf(-1); in Visit() [all …]
|
/art/compiler/sea_ir/ir/ |
D | visitor.h | 45 virtual void Initialize(SeaGraph* graph) = 0; 46 virtual void Visit(SeaGraph* graph) = 0; 65 virtual void Traverse(SeaGraph* graph);
|