mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-15 11:40:57 +08:00
Call scev_analyzable_p only on is_gimple_reg.
2010-07-26 Sebastian Pop <sebastian.pop@amd.com> * graphite-sese-to-poly.c (rewrite_commutative_reductions_out_of_ssa_loop): Call scev_analyzable_p only on is_gimple_reg * gcc.dg/graphite/id-25.c: New. From-SVN: r163158
This commit is contained in:
parent
1c2a7491be
commit
4ee23fa874
@ -1,3 +1,9 @@
|
||||
2010-08-02 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* graphite-sese-to-poly.c
|
||||
(rewrite_commutative_reductions_out_of_ssa_loop): Call
|
||||
scev_analyzable_p only on is_gimple_reg
|
||||
|
||||
2010-08-02 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* graphite-sese-to-poly.c (propagate_expr_outside_region): New.
|
||||
|
@ -1,3 +1,11 @@
|
||||
2010-07-26 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* graphite-sese-to-poly.c
|
||||
(rewrite_commutative_reductions_out_of_ssa_loop): Call
|
||||
scev_analyzable_p only on is_gimple_reg
|
||||
|
||||
* gcc.dg/graphite/id-25.c: New.
|
||||
|
||||
2010-07-22 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* graphite-sese-to-poly.c (propagate_expr_outside_region): New.
|
||||
|
@ -2950,12 +2950,15 @@ rewrite_commutative_reductions_out_of_ssa_loop (loop_p loop,
|
||||
{
|
||||
gimple_stmt_iterator gsi;
|
||||
edge exit = single_exit (loop);
|
||||
tree res;
|
||||
|
||||
if (!exit)
|
||||
return;
|
||||
|
||||
for (gsi = gsi_start_phis (exit->dest); !gsi_end_p (gsi); gsi_next (&gsi))
|
||||
if (!scev_analyzable_p (gimple_phi_result (gsi_stmt (gsi)), region))
|
||||
if ((res = gimple_phi_result (gsi_stmt (gsi)))
|
||||
&& is_gimple_reg (res)
|
||||
&& !scev_analyzable_p (res, region))
|
||||
rewrite_commutative_reductions_out_of_ssa_close_phi (gsi_stmt (gsi),
|
||||
reductions);
|
||||
}
|
||||
|
@ -1,3 +1,7 @@
|
||||
2010-08-02 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* gcc.dg/graphite/id-25.c: New.
|
||||
|
||||
2010-08-02 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* gcc.dg/graphite/run-id-5.c: New.
|
||||
|
34
gcc/testsuite/gcc.dg/graphite/id-25.c
Normal file
34
gcc/testsuite/gcc.dg/graphite/id-25.c
Normal file
@ -0,0 +1,34 @@
|
||||
typedef struct
|
||||
{
|
||||
int mvd[2][(16/4)][(16/4)][2];
|
||||
} Macroblock;
|
||||
typedef struct
|
||||
{
|
||||
int part_size[8][2];
|
||||
} InputParameters;
|
||||
typedef struct
|
||||
{
|
||||
Macroblock *mb_data;
|
||||
short****** pred_mv;
|
||||
short****** all_mv;
|
||||
} ImageParameters;
|
||||
extern InputParameters *input;
|
||||
extern ImageParameters *img;
|
||||
int writeMotionVector8x8 (void)
|
||||
{
|
||||
int i, j, k, l, m;
|
||||
int step_h = input->part_size[7][0];
|
||||
int step_v = input->part_size[7][1];
|
||||
Macroblock* currMB = &img->mb_data[9];
|
||||
int refindex = 0;
|
||||
short****** all_mv = img->all_mv;
|
||||
short****** pred_mv = img->pred_mv;
|
||||
|
||||
for (k=0; k<2; k++)
|
||||
{
|
||||
int curr_mvd = all_mv[2][8][0][8][7][8] - pred_mv[2][7][0][8][7][0];
|
||||
for (l=0; l < step_v; l++)
|
||||
for (m=0; m < step_h; m++)
|
||||
currMB->mvd[0][8][9][8] = curr_mvd;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user