1 GCC regressions, 1 new, with your patch on 2000-09-11T23:35:01Z.
Richard Henderson
rth@cygnus.com
Tue Sep 12 13:44:00 GMT 2000
On Tue, Sep 12, 2000 at 02:10:11AM +0000, GCC regression checker wrote:
> The new failures are:
> gcc.sum gcc.c-torture/execute/991023-1.c
[...]
> +2000-09-12 Michael Hayes <mhayes@cygnus.com>
> +
> + * loop.h (LOOP_IVS): New macro.
> + (REG_IV_TYPE, REG_IV_INFO): Add ivs argument.
> + (struct loop_ivs): New.
> + (struct loop_info): Add ivs field.
> + (reg_iv_type, reg_iv_info): Delete prototype.
> + (reg_biv_class, loop_iv_list): Likewise.
> + * loop.c (record_biv, find_life_end): Pass loop argument.
> + (reg_iv_type): Remove global array and use
> + field in loop_regs structure within loop_ivs structure.
> + (reg_iv_info, reg_biv_class, loop_iv_list): Likewise.
> + (first_increment_giv, last_increment_giv): Use entry in
> + loop_ivs structure.
> + (record_initial): Pass ivs pointer.
> + * unroll.c (copy_loop_body, remap_split_bivs): Add loop argument.
> +
> +2000-09-12 Michael Hayes <mhayes@cygnus.com>
> +
> + * loop.h (LOOP_REGS): New macro.
> + (struct loop_regs): New.
> + (struct loop_info): Add regs field.
> + * loop.c (set_in_loop): Remove global array and store
> + in loop_regs structure as part of loop_info structure.
> + (n_times_set, may_not_optimize): Likewise.
> + (reg_single_usage, moved_once): Likewise.
> + (count_one_set): Add regs argument.
> + (combine_movables, rtx_equal_for_loop_p, combine_givs): Likewise.
> + (set_pseudo_multiple_uses): Pass regs pointer.
> +
> +2000-09-12 Michael Hayes <mhayes@cygnus.com>
> +
> + * unroll.c (iteration_info): Subsume into loop_iterations.
> + * loop.h (loop_info): New field iv.
> +
> +2000-09-12 Michael Hayes <mhayes@cygnus.com>
> +
> + * basic-block.h (LOOP_TREE, LOOP_PRE_HEADER, LOOP_EDGES): New.
> + (LOOP_EXITS_DOMS, LOOP_ALL): Likewise.
> + (flow_loops_update): New prototype.
> + (flow_loops_find): Add flags to prototype.
> + (struct loop): Add `pre_header_root' and `pre_header_trace' fields.
> + * flow.c (flow_loop_pre_header_scan): New.
> + (flow_loop_dump): Dump pre-header root and trace and exit dominators.
> + (flow_loop_free): Free pre-header root and trace and exit dominators.
> + (flow_loops_find): New argument flags.
> + (flow_loops_update): New function.
> + * toplev.c (rest_of_compilation): Add flag argument to flow_loops_find.
One of these loop patches is at fault. The loop in question is
for (i=0 ; i< 7 ; i++)
{
if (i == 7 - 1)
blah = 0xfcc;
else
blah = 0xfee;
}
Yet we decide that we "Can reverse loop". Clearly that shouldn't
happen, since blah will contain incorrect data afterward.
r~
More information about the Gcc-regression
mailing list