Home | History | Annotate | Download | only in gcc

Lines Matching refs:loop_nest

955   tree_loop_interchange (vec<class loop *> loop_nest)
956 : m_loop_nest (loop_nest), m_niters_iv_var (NULL_TREE),
1086 class loop *loop_nest = m_loop_nest[0];
1087 edge instantiate_below = loop_preheader_edge (loop_nest);
1088 gsi = gsi_last_bb (loop_preheader_edge (loop_nest)->src);
1096 if (oloop.m_loop != loop_nest)
1274 /* Given data reference DR in LOOP_NEST, the function computes DR's access
1286 compute_access_stride (class loop *&loop_nest, class loop *loop,
1293 if (!flow_bb_inside_loop_p (loop_nest, bb))
1332 scev = instantiate_scev (loop_preheader_edge (loop_nest),
1338 if (loop_nest == loop)
1340 loop_nest = loop_nest->inner;
1358 while (expected != loop_outer (loop_nest))
1365 /* Given loop nest LOOP_NEST with innermost LOOP, the function computes
1373 compute_access_strides (class loop *loop_nest, class loop *loop,
1380 class loop *interesting_loop_nest = loop_nest;
1404 gcc_assert (loop_nest == loop || flow_loop_nested_p (loop_nest, loop));
1409 of loops that isn't in current LOOP_NEST. */
1412 prune_access_strides_not_in_loop (class loop *loop_nest,
1417 unsigned num_loops = loop_depth (innermost) - loop_depth (loop_nest) + 1;
1829 /* Return true if any two adjacent loops in loop nest [INNERMOST, LOOP_NEST]
1833 should_interchange_loop_nest (class loop *loop_nest, class loop *innermost,
1836 unsigned idx = loop_depth (innermost) - loop_depth (loop_nest);
1841 loop != loop_nest; loop = loop_outer (loop), idx--)
1849 /* Given loop nest LOOP_NEST and data references DATAREFS, compute data
1855 tree_loop_interchange_compute_ddrs (vec<loop_p> loop_nest,
1860 class loop *innermost = loop_nest.last ();
1873 ddr_p ddr = initialize_data_dependence_relation (a, b, loop_nest);
1875 compute_affine_dependence (ddr, loop_nest[0]);
1932 class loop *loop_nest = loop;
1941 for (unsigned i = 0; loop_nest && i < loop->num_nodes; ++i)
1944 if (!flow_bb_inside_loop_p (loop_nest, bb))
1950 loop_nest = bb->loop_father->inner;
1951 if (loop_nest && !loop_nest->inner)
1952 loop_nest = NULL;
1974 if (loop_nest && flow_bb_inside_loop_p (loop_nest, bb))
1987 return loop_nest;
1992 nest in LOOP_NEST; record all data references in DATAREFS and record all
2002 prepare_perfect_loop_nest (class loop *loop, vec<loop_p> *loop_nest,
2051 loop_nest->truncate (0);
2056 if (find_loop_nest (start_loop, loop_nest)
2057 && tree_loop_interchange_compute_ddrs (*loop_nest, *datarefs, ddrs))
2061 "\nConsider loop interchange for loop_nest<%d - %d>\n",
2094 loop_nest = vNULL;
2097 if (prepare_perfect_loop_nest (loop, &loop_nest, &datarefs, &ddrs))
2099 tree_loop_interchange loop_interchange (loop_nest);
2104 loop_nest.release ();