This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/60418] [4.9 Regression] 435.gromacs in SPEC CPU 2006 is miscompiled
- From: "hjl.tools at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 11 Mar 2014 15:06:14 +0000
- Subject: [Bug middle-end/60418] [4.9 Regression] 435.gromacs in SPEC CPU 2006 is miscompiled
- Auto-submitted: auto-generated
- References: <bug-60418-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60418
--- Comment #24 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to rguenther@suse.de from comment #23)
> On Mon, 10 Mar 2014, hjl.tools at gmail dot com wrote:
>
> > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60418
> >
> > --- Comment #20 from H.J. Lu <hjl.tools at gmail dot com> ---
> > (In reply to Richard Biener from comment #13)
> > > Huh, adding a pre-header should _never_ do sth like that. Can you produce
> > > a small testcase that exhibits these kind of changes with adding/removing
> > > a preheader?
> >
> > copyprop2 pass removed a preheader and cunrolli pass added it back:
> >
> > <bb 3>:
> > # n_213 = PHI <1(2)>
> >
> > <bb 8>:
> > # n_8 = PHI <n_213(3), n_218(9)>
>
> Not sure how it manages to add this kind of PHI node for just
> adding a preheader? That looks odd to me.
>
(gdb) bt
#0 make_ssa_name_fn (fn=0x7f039cc63d20, var=0x7f039d127ed8,
stmt=0x7f039c095800) at ../../../../gcc/gcc/tree-ssanames.c:133
#1 0x0000000000c66392 in copy_ssa_name_fn (fn=0x7f039cc63d20,
name=0x7f039cacdcf0, stmt=0x7f039c095800)
at ../../../../gcc/gcc/tree-ssanames.c:459
#2 0x0000000000a7e389 in copy_ssa_name (var=0x7f039cacdcf0,
stmt=0x7f039c095800) at ../../../../gcc/gcc/tree-ssanames.h:118
#3 0x0000000000a8d874 in gimple_make_forwarder_block (fallthru=0x7f039d777f18)
at ../../../../gcc/gcc/tree-cfg.c:5291
#4 0x000000000061a663 in make_forwarder_block (bb=0x7f039d0c7a90,
redirect_edge_p=0x627199 <mfb_keep_just(edge_def*)>, new_bb_cbk=0x0)
at ../../../../gcc/gcc/cfghooks.c:912
#5 0x0000000000627416 in create_preheader (loop=0x7f039d25e280, flags=1)
at ../../../../gcc/gcc/cfgloopmanip.c:1552
#6 0x000000000062756a in create_preheaders (flags=1)
at ../../../../gcc/gcc/cfgloopmanip.c:1602
#7 0x00000000008b76ee in apply_loop_flags (flags=15)
at ../../../../gcc/gcc/loop-init.c:63
#8 0x00000000008b780d in loop_optimizer_init (flags=15)
at ../../../../gcc/gcc/loop-init.c:121
#9 0x0000000000b9ef15 in tree_complete_unroll_inner ()
at ../../../../gcc/gcc/tree-ssa-loop-ivcanon.c:1377
#10 0x0000000000b9efcf in (anonymous namespace)::pass_complete_unrolli::execute
---Type <return> to continue, or q <return> to quit---
(this=0x28d2110) at ../../../../gcc/gcc/tree-ssa-loop-ivcanon.c:1422
#11 0x0000000000968b76 in execute_one_pass (pass=0x28d2110)
at ../../../../gcc/gcc/passes.c:2229
#12 0x0000000000968d8f in execute_pass_list (pass=0x28d2110)
at ../../../../gcc/gcc/passes.c:2282
#13 0x0000000000968dc0 in execute_pass_list (pass=0x28d1ed0)
at ../../../../gcc/gcc/passes.c:2283
#14 0x000000000064676a in expand_function (node=0x7f039dba5668)
at ../../../../gcc/gcc/cgraphunit.c:1774
#15 0x0000000000646d5e in expand_all_functions ()
at ../../../../gcc/gcc/cgraphunit.c:1908
#16 0x000000000064772a in compile () at ../../../../gcc/gcc/cgraphunit.c:2252
#17 0x000000000059a615 in lto_main () at ../../../../gcc/gcc/lto/lto.c:3427
#18 0x0000000000a53c2c in compile_file () at ../../../../gcc/gcc/toplev.c:548
#19 0x0000000000a55dc3 in do_compile () at ../../../../gcc/gcc/toplev.c:1914
#20 0x0000000000a55f2e in toplev_main (argc=24, argv=0x28ac850)
at ../../../../gcc/gcc/toplev.c:1990
#21 0x00000000011dde12 in main (argc=24, argv=0x7fffdea91ed8)
at ../../../../gcc/gcc/main.c:36
(gdb)