http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14741

--- Comment #22 from Sebastian Pop <spop at gcc dot gnu.org> ---
Once we revert that patch, the remaining problem is that
graphite_can_represent_scev returns false on this scev:

{{(stride.12_14 + offset.13_15) + 1, +, stride.12_14}_1, +, 1}_2

the parameters are defined like this:

    _12 = *n_11(D);
    ubound.10_13 = (integer(kind=8)) _12;
    stride.12_14 = MAX_EXPR <ubound.10_13, 0>;
    offset.13_15 = ~stride.12_14;


#(Data Ref: 
#  bb: 5 
#  stmt: c__I_lsm.30_8 = *c_21(D)[_20];
#  ref: *c_21(D)[_20];
#  base_object: *c_21(D);
#  Access function 0: {{(stride.12_14 + offset.13_15) + 1, +, stride.12_14}_1,
+, 1}_2
#)

#(Data Ref: 
#  bb: 6 
#  stmt: _29 = *a_28(D)[_27];
#  ref: *a_28(D)[_27];
#  base_object: *a_28(D);
#  Access function 0: {{(stride.12_14 + offset.13_15) + 1, +, 1}_2, +,
stride.12_14}_3
#)

Why have these arrays been linearized?

Reply via email to