http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55006
Bug #: 55006 Summary: [4.8 Regression] aermod.f90 is miscompiled with '-m64 -O2 -funroll-loops' after revision 192526 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: domi...@lps.ens.fr CC: hubi...@gcc.gnu.org, ste...@gcc.gnu.org The polyhedron test aermod.f90 is miscompiled with '-m64 -O2 -funroll-loops' after revision 192526 Author: steven Date: Wed Oct 17 06:15:38 2012 UTC (4 days, 5 hours ago) Changed paths: 3 Log Message: * df-problems.c (df_kill_notes): Split up in two functions. (df_remove_dead_and_unused_notes): New function, first half of df_kill notes to remove all REG_DEAD and REG_UNUSED notes. (df_remove_dead_eq_notes): New function, second half of df_kill_notes to remove REG_EQUAL and REG_EQUIV notes referring to dead registers. (df_note_bb_compute): Call df_remove_dead_and_unused_notes instead of df_kill_notes. Call df_remove_dead_eq_notes after processing insn. * web.c (web): Re-add DF_RD_PRUNE_DEAD_DEFS; The executable aborts with the following backtrace ... F indicates top of profile (=1) or below (=0) +Now Processing Data For Day No. 1 of 1999 Program received signal SIGSEGV, Segmentation fault. wake_sig (x=46.0831375, xd=104.343887, xold=44.0807877, turbz=<value optimized out>, turby=<value optimized out>, szold=Cannot access memory at address 0x8 ) at aermod.f90:38204 38204 SZ = SZOLD + DELX*TURBZ (gdb) bt #0 wake_sig (x=46.0831375, xd=104.343887, xold=44.0807877, turbz=<value optimized out>, turby=<value optimized out>, szold=Cannot access memory at address 0x8 ) at aermod.f90:38204 #1 0x000000010003302c in wake_dfsn (ldbhr=.FALSE., xi=40.076088, szi=0.596251428, syi=0.618943393, z=7.06923056) at aermod.f90:36900 #2 0x000000010003852a in numrise (ldbhr=.FALSE., h=5, reff=<value optimized out>, texit=262.600189, wexit=<value optimized out>, ntr=50, xtr=..., ytr=..., ztr=..., rtr=..., linwake=.TRUE., numwake=0) at aermod.f90:35360 #3 0x000000010003b3d6 in prmdelh (xarg=30.6145649, l_inwake=.TRUE.) at aermod.f90:39784 #4 0x000000010003cc64 in prmcalc (xbrec=<value optimized out>, ybrec=<value optimized out>) at aermod.f90:6786 #5 0x00000001000572b2 in pcalc () at aermod.f90:6282 #6 0x000000010005905b in calc () at aermod.f90:5761 #7 0x0000000100079868 in hrloop () at aermod.f90:2596 #8 0x00000001000e7367 in aermod () at aermod.f90:2194 #9 0x00000001000f864f in main (argc=<value optimized out>, argv=<value optimized out>) at aermod.f90:2038 #10 0x00000001000016e4 in start () The two subroutines which are miscompiled are wake_dfsn and wake_dfsn2, see the attached compressed archive for testing it.