Searched defs:graph (Results 1 - 25 of 35) sorted by relevance

12

/art/compiler/optimizing/
H A Dssa_type_propagation.h24 // Compute and propagate types of phis in the graph.
27 explicit SsaTypePropagation(HGraph* graph) argument
28 : graph_(graph), worklist_(graph->GetArena(), kDefaultWorklistSize) {}
H A Dssa_phi_elimination.h25 * Optimization phase that removes dead phis from the graph. Dead phis are unused
30 explicit SsaDeadPhiElimination(HGraph* graph) argument
31 : graph_(graph), worklist_(graph->GetArena(), kDefaultWorklistSize) {}
52 explicit SsaRedundantPhiElimination(HGraph* graph) argument
53 : graph_(graph), worklist_(graph->GetArena(), kDefaultWorklistSize) {}
H A Ddominator_test.cc32 HGraph* graph = builder.BuildGraph(*item); local
33 ASSERT_NE(graph, nullptr);
34 graph->BuildDominatorTree();
35 ASSERT_EQ(graph->GetBlocks().Size(), blocks_length);
38 ASSERT_EQ(nullptr, graph->GetBlocks().Get(i)->GetDominator());
40 ASSERT_NE(nullptr, graph->GetBlocks().Get(i)->GetDominator());
41 ASSERT_EQ(blocks[i], graph->GetBlocks().Get(i)->GetDominator()->GetBlockId());
H A Dlinearize_test.cc41 HGraph* graph = builder.BuildGraph(*item); local
42 ASSERT_NE(graph, nullptr);
44 graph->BuildDominatorTree();
45 graph->TransformToSSA();
46 graph->FindNaturalLoops();
48 CodeGenerator* codegen = CodeGenerator::Create(&allocator, graph, InstructionSet::kX86);
49 SsaLivenessAnalysis liveness(*graph, codegen);
60 // Structure of this graph (+ are back edges)
85 // Structure of this graph (+ are back edges)
110 // Structure of this graph (
[all...]
H A Dlive_ranges_test.cc33 HGraph* graph = builder.BuildGraph(*item); local
34 graph->BuildDominatorTree();
35 graph->TransformToSSA();
36 graph->FindNaturalLoops();
37 return graph;
45 * Which becomes the following graph (numbered by lifetime position):
59 HGraph* graph = BuildGraph(data, &allocator); local
61 CodeGenerator* codegen = CodeGenerator::Create(&allocator, graph, InstructionSet::kX86);
62 SsaLivenessAnalysis liveness(*graph, codegen);
70 HBasicBlock* block = graph
106 HGraph* graph = BuildGraph(data, &allocator); local
155 HGraph* graph = BuildGraph(data, &allocator); local
231 HGraph* graph = BuildGraph(data, &allocator); local
[all...]
H A Dpretty_printer_test.cc35 HGraph* graph = builder.BuildGraph(*item); local
36 ASSERT_NE(graph, nullptr);
37 StringPrettyPrinter printer(graph);
H A Dssa_builder.h28 explicit SsaBuilder(HGraph* graph) argument
29 : HGraphVisitor(graph),
31 loop_headers_(graph->GetArena(), kDefaultNumberOfLoops),
32 locals_for_(graph->GetArena(), graph->GetBlocks().Size()) {
33 locals_for_.SetSize(graph->GetBlocks().Size());
H A Dfind_loops_test.cc34 HGraph* graph = builder.BuildGraph(*item); local
35 graph->BuildDominatorTree();
36 graph->FindNaturalLoops();
37 return graph;
47 HGraph* graph = TestCode(data, &arena); local
48 for (size_t i = 0, e = graph->GetBlocks().Size(); i < e; ++i) {
49 ASSERT_EQ(graph->GetBlocks().Get(i)->GetLoopInformation(), nullptr);
59 HGraph* graph = TestCode(data, &arena); local
60 for (size_t i = 0, e = graph->GetBlocks().Size(); i < e; ++i) {
61 ASSERT_EQ(graph
74 HGraph* graph = TestCode(data, &arena); local
90 HGraph* graph = TestCode(data, &arena); local
104 HGraph* graph = TestCode(data, &arena); local
110 TestBlock(HGraph* graph, int block_id, bool is_loop_header, int parent_loop_header_id, const int* blocks_in_loop = nullptr, size_t number_of_blocks = 0) argument
149 HGraph* graph = TestCode(data, &arena); local
176 HGraph* graph = TestCode(data, &arena); local
200 HGraph* graph = TestCode(data, &arena); local
225 HGraph* graph = TestCode(data, &arena); local
251 HGraph* graph = TestCode(data, &arena); local
276 HGraph* graph = TestCode(data, &arena); local
307 HGraph* graph = TestCode(data, &arena); local
336 HGraph* graph = TestCode(data, &arena); local
350 HGraph* graph = TestCode(data, &arena); local
[all...]
H A Dliveness_test.cc47 HGraph* graph = builder.BuildGraph(*item); local
48 ASSERT_NE(graph, nullptr);
49 graph->BuildDominatorTree();
50 graph->TransformToSSA();
51 graph->FindNaturalLoops();
52 CodeGenerator* codegen = CodeGenerator::Create(&allocator, graph, InstructionSet::kX86);
53 SsaLivenessAnalysis liveness(*graph, codegen);
57 for (HInsertionOrderIterator it(*graph); !it.Done(); it.Advance()) {
H A Dcodegen_test.cc74 HGraph* graph = builder.BuildGraph(*item); local
75 ASSERT_NE(graph, nullptr);
78 CodeGenerator* codegen = CodeGenerator::Create(&arena, graph, kX86);
86 codegen = CodeGenerator::Create(&arena, graph, kArm);
92 codegen = CodeGenerator::Create(&arena, graph, kX86_64);
H A Dgraph_test.cc28 static HBasicBlock* createIfBlock(HGraph* graph, ArenaAllocator* allocator) { argument
29 HBasicBlock* if_block = new (allocator) HBasicBlock(graph);
30 graph->AddBlock(if_block);
40 static HBasicBlock* createGotoBlock(HGraph* graph, ArenaAllocator* allocator) { argument
41 HBasicBlock* block = new (allocator) HBasicBlock(graph);
42 graph->AddBlock(block);
48 static HBasicBlock* createReturnBlock(HGraph* graph, ArenaAllocator* allocator) { argument
49 HBasicBlock* block = new (allocator) HBasicBlock(graph);
50 graph->AddBlock(block);
56 static HBasicBlock* createExitBlock(HGraph* graph, ArenaAllocato argument
71 HGraph* graph = new (&allocator) HGraph(&allocator); local
106 HGraph* graph = new (&allocator) HGraph(&allocator); local
141 HGraph* graph = new (&allocator) HGraph(&allocator); local
177 HGraph* graph = new (&allocator) HGraph(&allocator); local
213 HGraph* graph = new (&allocator) HGraph(&allocator); local
253 HGraph* graph = new (&allocator) HGraph(&allocator); local
290 HGraph* graph = new (&allocator) HGraph(&allocator); local
[all...]
H A Dpretty_printer.h27 explicit HPrettyPrinter(HGraph* graph) : HGraphVisitor(graph) { } argument
106 explicit StringPrettyPrinter(HGraph* graph) argument
107 : HPrettyPrinter(graph), str_(""), current_block_(nullptr) { }
H A Dregister_allocator_test.cc39 HGraph* graph = builder.BuildGraph(*item); local
40 graph->BuildDominatorTree();
41 graph->TransformToSSA();
42 graph->FindNaturalLoops();
43 CodeGenerator* codegen = CodeGenerator::Create(&allocator, graph, kX86);
44 SsaLivenessAnalysis liveness(*graph, codegen);
58 HGraph* graph = new (&allocator) HGraph(&allocator); local
59 CodeGenerator* codegen = CodeGenerator::Create(&allocator, graph, kX86);
147 * Which becomes the following graph:
171 * Which becomes the following graph
253 HGraph* graph = builder.BuildGraph(*item); local
299 HGraph* graph = BuildSSAGraph(data, &allocator); local
331 HGraph* graph = BuildSSAGraph(data, &allocator); local
[all...]
H A Dssa_test.cc33 explicit SsaPrettyPrinter(HGraph* graph) : HPrettyPrinter(graph), str_("") {} argument
65 static void ReNumberInstructions(HGraph* graph) { argument
67 for (size_t i = 0, e = graph->GetBlocks().Size(); i < e; ++i) {
68 HBasicBlock* block = graph->GetBlocks().Get(i);
83 HGraph* graph = builder.BuildGraph(*item); local
84 ASSERT_NE(graph, nullptr);
86 graph->BuildDominatorTree();
87 graph->TransformToSSA();
88 ReNumberInstructions(graph);
[all...]
H A Dcode_generator_arm.h86 explicit LocationsBuilderARM(HGraph* graph, CodeGeneratorARM* codegen) argument
87 : HGraphVisitor(graph), codegen_(codegen) {}
105 InstructionCodeGeneratorARM(HGraph* graph, CodeGeneratorARM* codegen);
126 explicit CodeGeneratorARM(HGraph* graph);
H A Dcode_generator_x86.h87 LocationsBuilderX86(HGraph* graph, CodeGeneratorX86* codegen) argument
88 : HGraphVisitor(graph), codegen_(codegen) {}
106 InstructionCodeGeneratorX86(HGraph* graph, CodeGeneratorX86* codegen);
128 explicit CodeGeneratorX86(HGraph* graph);
H A Dcode_generator_x86_64.h84 LocationsBuilderX86_64(HGraph* graph, CodeGeneratorX86_64* codegen) argument
85 : HGraphVisitor(graph), codegen_(codegen) {}
103 InstructionCodeGeneratorX86_64(HGraph* graph, CodeGeneratorX86_64* codegen);
125 explicit CodeGeneratorX86_64(HGraph* graph);
H A Doptimizing_compiler.cc108 HGraph* graph = builder.BuildGraph(*code_item); local
109 if (graph == nullptr) {
111 LOG(FATAL) << "Could not build graph in optimizing compiler";
116 CodeGenerator* codegen = CodeGenerator::Create(&arena, graph, instruction_set);
125 visualizer_output_.get(), graph, kStringFilter, *codegen, dex_compilation_unit);
130 if (RegisterAllocator::CanAllocateRegistersFor(*graph, instruction_set)) {
131 graph->BuildDominatorTree();
132 graph->TransformToSSA();
134 graph->FindNaturalLoops();
136 SsaRedundantPhiElimination(graph)
[all...]
H A Dcode_generator.h71 // Compiles the graph to executable instructions. Returns whether the compilation
76 HGraph* graph,
143 CodeGenerator(HGraph* graph, size_t number_of_registers) argument
145 graph_(graph),
146 block_labels_(graph->GetArena(), 0),
147 pc_infos_(graph->GetArena(), 32),
148 slow_paths_(graph->GetArena(), 8),
149 blocked_registers_(graph->GetArena()->AllocArray<bool>(number_of_registers)),
H A Dgraph_visualizer.cc31 HGraphVisualizerPrinter(HGraph* graph, argument
35 : HGraphVisitor(graph),
243 HGraph* graph,
247 : output_(output), graph_(graph), codegen_(codegen), is_enabled_(false) {
257 HGraphVisualizerPrinter printer(graph, *output_, "", codegen_);
266 HGraph* graph,
269 : output_(output), graph_(graph), codegen_(codegen), is_enabled_(false) {
275 HGraphVisualizerPrinter printer(graph, *output_, "", codegen_);
242 HGraphVisualizer(std::ostream* output, HGraph* graph, const char* string_filter, const CodeGenerator& codegen, const DexCompilationUnit& cu) argument
265 HGraphVisualizer(std::ostream* output, HGraph* graph, const CodeGenerator& codegen, const char* name) argument
/art/compiler/sea_ir/types/
H A Dtype_inference_visitor.h37 TypeInferenceVisitor(SeaGraph* graph, TypeData* type_data, argument
39 graph_(graph), type_data_(type_data), type_cache_(types), crt_type_() {
42 void Initialize(SeaGraph* graph) { } argument
43 void Visit(SeaGraph* graph);
H A Dtype_inference_visitor.cc24 void TypeInferenceVisitor::Visit(SeaGraph* graph) { argument
H A Dtype_inference.cc39 FunctionTypeInfo::FunctionTypeInfo(const SeaGraph* graph, art::verifier::RegTypeCache* types) argument
40 : dex_file_(graph->GetDexFile()), dex_method_idx_(graph->method_idx_), type_cache_(types),
41 method_access_flags_(graph->method_access_flags_) {
47 FunctionTypeInfo::FunctionTypeInfo(const SeaGraph* graph, InstructionNode* inst, argument
48 art::verifier::RegTypeCache* types): dex_file_(graph->GetDexFile()),
143 void TypeInference::ComputeTypes(SeaGraph* graph) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) {
144 std::vector<Region*>* regions = graph->GetRegions();
154 TypeInferenceVisitor tiv(graph, &type_data_, type_cache_);
156 graph
[all...]
/art/compiler/sea_ir/debug/
H A Ddot_gen.cc23 void DotGenerationVisitor::Initialize(SeaGraph* graph) { argument
24 graph_ = graph;
27 for (std::vector<Region*>::const_iterator cit = graph->GetRegions()->begin();
28 cit != graph->GetRegions()->end(); cit++ ) {
117 // builds a complete dot graph (without prolog and epilog though).
H A Ddot_gen.h44 virtual void Initialize(SeaGraph* graph);
48 void Visit(SeaGraph* graph) { argument
55 // builds a complete dot graph (without prolog and epilog though).
97 // Stores options for turning a SEA IR graph to a .dot file.
101 // Saves to @filename the .dot representation of @graph with the options @options.
102 void DumpSea(SeaGraph* graph, std::string filename, argument
106 graph->Accept(&dgv);

Completed in 2157 milliseconds

12