Home | History | Annotate | Download | only in optimizing

Lines Matching refs:graph

38   HGraph* graph = CreateCFG(data);
39 for (HBasicBlock* block : graph->GetBlocks()) {
49 HGraph* graph = CreateCFG(data);
50 for (HBasicBlock* block : graph->GetBlocks()) {
63 HGraph* graph = CreateCFG(data);
64 for (HBasicBlock* block : graph->GetBlocks()) {
78 HGraph* graph = CreateCFG(data);
79 for (HBasicBlock* block : graph->GetBlocks()) {
91 HGraph* graph = CreateCFG(data);
92 for (HBasicBlock* block : graph->GetBlocks()) {
97 static void TestBlock(HGraph* graph,
103 HBasicBlock* block = graph->GetBlocks()[block_id];
135 HGraph* graph = CreateCFG(data);
137 TestBlock(graph, 0, false, kInvalidBlockId); // entry block
138 TestBlock(graph, 1, false, kInvalidBlockId); // pre header
140 TestBlock(graph, 2, true, 2, blocks2, 2); // loop header
141 TestBlock(graph, 3, false, 2); // block in loop
142 TestBlock(graph, 4, false, kInvalidBlockId); // return block
143 TestBlock(graph, 5, false, kInvalidBlockId); // exit block
161 HGraph* graph = CreateCFG(data);
163 TestBlock(graph, 0, false, kInvalidBlockId); // entry block
164 TestBlock(graph, 1, false, kInvalidBlockId); // goto block
166 TestBlock(graph, 2, true, 2, blocks2, 2); // loop header
167 TestBlock(graph, 3, false, 2); // block in loop
168 TestBlock(graph, 4, false, kInvalidBlockId); // pre header
169 TestBlock(graph, 5, false, kInvalidBlockId); // return block
170 TestBlock(graph, 6, false, kInvalidBlockId); // exit block
184 HGraph* graph = CreateCFG(data);
186 TestBlock(graph, 0, false, kInvalidBlockId); // entry block
187 TestBlock(graph, 1, false, kInvalidBlockId); // goto block
188 TestBlock(graph, 2, false, kInvalidBlockId);
190 TestBlock(graph, 3, true, 3, blocks2, 2); // loop header
191 TestBlock(graph, 4, false, 3); // block in loop
192 TestBlock(graph, 5, false, kInvalidBlockId); // pre header
193 TestBlock(graph, 6, false, kInvalidBlockId); // return block
194 TestBlock(graph, 7, false, kInvalidBlockId); // exit block
195 TestBlock(graph, 8, false, kInvalidBlockId); // synthesized pre header
208 HGraph* graph = CreateCFG(data);
210 TestBlock(graph, 0, false, kInvalidBlockId); // entry block
211 TestBlock(graph, 1, false, kInvalidBlockId); // pre header
213 TestBlock(graph, 2, true, 2, blocks2, arraysize(blocks2)); // loop header
214 TestBlock(graph, 3, false, 2); // block in loop
215 TestBlock(graph, 4, false, 2); // back edge
216 TestBlock(graph, 5, false, 2); // back edge
217 TestBlock(graph, 6, false, kInvalidBlockId); // return block
218 TestBlock(graph, 7, false, kInvalidBlockId); // exit block
232 HGraph* graph = CreateCFG(data);
234 TestBlock(graph, 0, false, kInvalidBlockId); // entry block
235 TestBlock(graph, 1, false, kInvalidBlockId); // pre header
237 TestBlock(graph, 2, true, 2, blocks2, 3); // loop header
238 TestBlock(graph, 3, false, 2); // block in loop
239 TestBlock(graph, 4, false, kInvalidBlockId); // loop exit
240 TestBlock(graph, 5, false, 2); // back edge
241 TestBlock(graph, 6, false, kInvalidBlockId); // return block
242 TestBlock(graph, 7, false, kInvalidBlockId); // exit block
243 TestBlock(graph, 8, false, kInvalidBlockId); // synthesized block at the loop exit
255 HGraph* graph = CreateCFG(data);
257 TestBlock(graph, 0, false, kInvalidBlockId); // entry block
258 TestBlock(graph, 1, false, kInvalidBlockId); // pre header of outer loop
260 TestBlock(graph, 2, true, 2, blocks2, 5); // outer loop header
262 TestBlock(graph, 3, true, 3, blocks3, 2); // inner loop header
263 TestBlock(graph, 4, false, 3); // back edge on inner loop
264 TestBlock(graph, 5, false, 2); // back edge on outer loop
265 TestBlock(graph, 6, false, kInvalidBlockId); // return block
266 TestBlock(graph, 7, false, kInvalidBlockId); // exit block
267 TestBlock(graph, 8, false, 2); // synthesized block as pre header of inner loop
269 ASSERT_TRUE(graph->GetBlocks()[3]->GetLoopInformation()->IsIn(
270 *graph->GetBlocks()[2]->GetLoopInformation()));
271 ASSERT_FALSE(graph->GetBlocks()[2]->GetLoopInformation()->IsIn(
272 *graph->GetBlocks()[3]->GetLoopInformation()));
284 HGraph* graph = CreateCFG(data);
286 TestBlock(graph, 0, false, kInvalidBlockId); // entry block
287 TestBlock(graph, 1, false, kInvalidBlockId); // pre header of first loop
289 TestBlock(graph, 2, true, 2, blocks2, 2); // first loop header
290 TestBlock(graph, 3, false, 2); // back edge of first loop
292 TestBlock(graph, 4, true, 4, blocks4, 2); // second loop header
293 TestBlock(graph, 5, false, 4); // back edge of second loop
294 TestBlock(graph, 6, false, kInvalidBlockId); // return block
295 TestBlock(graph, 7, false, kInvalidBlockId); // exit block
297 ASSERT_FALSE(graph->GetBlocks()[4]->GetLoopInformation()->IsIn(
298 *graph->GetBlocks()[2]->GetLoopInformation()));
299 ASSERT_FALSE(graph->GetBlocks()[2]->GetLoopInformation()->IsIn(
300 *graph->GetBlocks()[4]->GetLoopInformation()));
312 HGraph* graph = CreateCFG(data);
313 ASSERT_TRUE(graph->GetBlocks()[3]->IsLoopHeader());
314 HLoopInformation* info = graph->GetBlocks()[3]->GetLoopInformation();
326 HGraph* graph = CreateCFG(data);
328 TestBlock(graph, 0, false, kInvalidBlockId); // entry block
329 TestBlock(graph, 1, false, kInvalidBlockId); // pre header of first loop
331 TestBlock(graph, 2, true, 2, blocks2, 3); // loop header
332 TestBlock(graph, 3, false, 2); // back edge of first loop
333 TestBlock(graph, 4, false, kInvalidBlockId); // return block
334 TestBlock(graph, 5, false, kInvalidBlockId); // exit block
335 TestBlock(graph, 6, false, 2); // synthesized block to avoid a critical edge