Lines Matching refs:graph

40   HGraph* graph = CreateCFG(&allocator, data);
41 for (HBasicBlock* block : graph->GetBlocks()) {
53 HGraph* graph = CreateCFG(&allocator, data);
54 for (HBasicBlock* block : graph->GetBlocks()) {
69 HGraph* graph = CreateCFG(&allocator, data);
70 for (HBasicBlock* block : graph->GetBlocks()) {
86 HGraph* graph = CreateCFG(&allocator, data);
87 for (HBasicBlock* block : graph->GetBlocks()) {
101 HGraph* graph = CreateCFG(&allocator, data);
102 for (HBasicBlock* block : graph->GetBlocks()) {
107 static void TestBlock(HGraph* graph,
113 HBasicBlock* block = graph->GetBlocks()[block_id];
147 HGraph* graph = CreateCFG(&allocator, data);
149 TestBlock(graph, 0, false, kInvalidBlockId); // entry block
150 TestBlock(graph, 1, false, kInvalidBlockId); // pre header
152 TestBlock(graph, 2, true, 2, blocks2, 2); // loop header
153 TestBlock(graph, 3, false, 2); // block in loop
154 TestBlock(graph, 4, false, kInvalidBlockId); // return block
155 TestBlock(graph, 5, false, kInvalidBlockId); // exit block
175 HGraph* graph = CreateCFG(&allocator, data);
177 TestBlock(graph, 0, false, kInvalidBlockId); // entry block
178 TestBlock(graph, 1, false, kInvalidBlockId); // goto block
180 TestBlock(graph, 2, true, 2, blocks2, 2); // loop header
181 TestBlock(graph, 3, false, 2); // block in loop
182 TestBlock(graph, 4, false, kInvalidBlockId); // pre header
183 TestBlock(graph, 5, false, kInvalidBlockId); // return block
184 TestBlock(graph, 6, false, kInvalidBlockId); // exit block
200 HGraph* graph = CreateCFG(&allocator, data);
202 TestBlock(graph, 0, false, kInvalidBlockId); // entry block
203 TestBlock(graph, 1, false, kInvalidBlockId); // goto block
204 TestBlock(graph, 2, false, kInvalidBlockId);
206 TestBlock(graph, 3, true, 3, blocks2, 2); // loop header
207 TestBlock(graph, 4, false, 3); // block in loop
208 TestBlock(graph, 5, false, kInvalidBlockId); // pre header
209 TestBlock(graph, 6, false, kInvalidBlockId); // return block
210 TestBlock(graph, 7, false, kInvalidBlockId); // exit block
211 TestBlock(graph, 8, false, kInvalidBlockId); // synthesized pre header
226 HGraph* graph = CreateCFG(&allocator, data);
228 TestBlock(graph, 0, false, kInvalidBlockId); // entry block
229 TestBlock(graph, 1, false, kInvalidBlockId); // pre header
231 TestBlock(graph, 2, true, 2, blocks2, arraysize(blocks2)); // loop header
232 TestBlock(graph, 3, false, 2); // block in loop
233 TestBlock(graph, 4, false, 2); // back edge
234 TestBlock(graph, 5, false, 2); // back edge
235 TestBlock(graph, 6, false, kInvalidBlockId); // return block
236 TestBlock(graph, 7, false, kInvalidBlockId); // exit block
252 HGraph* graph = CreateCFG(&allocator, data);
254 TestBlock(graph, 0, false, kInvalidBlockId); // entry block
255 TestBlock(graph, 1, false, kInvalidBlockId); // pre header
257 TestBlock(graph, 2, true, 2, blocks2, 3); // loop header
258 TestBlock(graph, 3, false, 2); // block in loop
259 TestBlock(graph, 4, false, kInvalidBlockId); // loop exit
260 TestBlock(graph, 5, false, 2); // back edge
261 TestBlock(graph, 6, false, kInvalidBlockId); // return block
262 TestBlock(graph, 7, false, kInvalidBlockId); // exit block
263 TestBlock(graph, 8, false, kInvalidBlockId); // synthesized block at the loop exit
277 HGraph* graph = CreateCFG(&allocator, data);
279 TestBlock(graph, 0, false, kInvalidBlockId); // entry block
280 TestBlock(graph, 1, false, kInvalidBlockId); // pre header of outer loop
282 TestBlock(graph, 2, true, 2, blocks2, 5); // outer loop header
284 TestBlock(graph, 3, true, 3, blocks3, 2); // inner loop header
285 TestBlock(graph, 4, false, 3); // back edge on inner loop
286 TestBlock(graph, 5, false, 2); // back edge on outer loop
287 TestBlock(graph, 6, false, kInvalidBlockId); // return block
288 TestBlock(graph, 7, false, kInvalidBlockId); // exit block
289 TestBlock(graph, 8, false, 2); // synthesized block as pre header of inner loop
291 ASSERT_TRUE(graph->GetBlocks()[3]->GetLoopInformation()->IsIn(
292 *graph->GetBlocks()[2]->GetLoopInformation()));
293 ASSERT_FALSE(graph->GetBlocks()[2]->GetLoopInformation()->IsIn(
294 *graph->GetBlocks()[3]->GetLoopInformation()));
308 HGraph* graph = CreateCFG(&allocator, data);
310 TestBlock(graph, 0, false, kInvalidBlockId); // entry block
311 TestBlock(graph, 1, false, kInvalidBlockId); // pre header of first loop
313 TestBlock(graph, 2, true, 2, blocks2, 2); // first loop header
314 TestBlock(graph, 3, false, 2); // back edge of first loop
316 TestBlock(graph, 4, true, 4, blocks4, 2); // second loop header
317 TestBlock(graph, 5, false, 4); // back edge of second loop
318 TestBlock(graph, 6, false, kInvalidBlockId); // return block
319 TestBlock(graph, 7, false, kInvalidBlockId); // exit block
321 ASSERT_FALSE(graph->GetBlocks()[4]->GetLoopInformation()->IsIn(
322 *graph->GetBlocks()[2]->GetLoopInformation()));
323 ASSERT_FALSE(graph->GetBlocks()[2]->GetLoopInformation()->IsIn(
324 *graph->GetBlocks()[4]->GetLoopInformation()));
338 HGraph* graph = CreateCFG(&allocator, data);
339 ASSERT_TRUE(graph->GetBlocks()[3]->IsLoopHeader());
340 HLoopInformation* info = graph->GetBlocks()[3]->GetLoopInformation();
354 HGraph* graph = CreateCFG(&allocator, data);
356 TestBlock(graph, 0, false, kInvalidBlockId); // entry block
357 TestBlock(graph, 1, false, kInvalidBlockId); // pre header of first loop
359 TestBlock(graph, 2, true, 2, blocks2, 3); // loop header
360 TestBlock(graph, 3, false, 2); // back edge of first loop
361 TestBlock(graph, 4, false, kInvalidBlockId); // return block
362 TestBlock(graph, 5, false, kInvalidBlockId); // exit block
363 TestBlock(graph, 6, false, 2); // synthesized block to avoid a critical edge