Home
last modified time | relevance | path

Searched refs:graph (Results 1 – 25 of 40) sorted by relevance

12

/art/compiler/optimizing/
Dfind_loops_test.cc34 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 …]
Dgraph_test.cc28 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 …]
Doptimizing_compiler.cc108 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 …]
Dlive_ranges_test.cc33 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 …]
Dregister_allocator_test.cc39 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 …]
Dssa_phi_elimination.h30 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()
Dssa_builder.h28 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()
Dssa_test.cc33 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 …]
Dlinearize_test.cc41 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()
Ddominator_test.cc32 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()
Dliveness_test.cc47 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()
Dssa_type_propagation.h27 explicit SsaTypePropagation(HGraph* graph) in SsaTypePropagation() argument
28 : graph_(graph), worklist_(graph->GetArena(), kDefaultWorklistSize) {} in SsaTypePropagation()
Dcode_generator.h76 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()
Dgraph_visualizer.cc31 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()
Dpretty_printer.h27 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()
Dgraph_visualizer.h44 HGraph* graph,
54 HGraph* graph,
Dcodegen_test.cc74 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()
Dcode_generator_x86_64.h84 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);
Dcode_generator_x86.h87 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/
Dtype_inference.cc39 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()
Dtype_inference_visitor.h37 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);
Dtype_inference.h38 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/
Ddot_gen.h44 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/
Dcode_gen.cc39 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/
Dvisitor.h45 virtual void Initialize(SeaGraph* graph) = 0;
46 virtual void Visit(SeaGraph* graph) = 0;
65 virtual void Traverse(SeaGraph* graph);

12