This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/55006] New: [4.8 Regression] aermod.f90 is miscompiled with '-m64 -O2 -funroll-loops' after revision 192526


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: unassigned@gcc.gnu.org
        ReportedBy: dominiq@lps.ens.fr
                CC: hubicka@gcc.gnu.org, steven@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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]