------- Comment #2 from danglin at gcc dot gnu dot org  2007-10-27 15:51 -------
I think this regression was caused by this change:

2007-10-26  Daniel Jacobowitz  <[EMAIL PROTECTED]>

        * reorg.c (emit_delay_sequence): Move insn locator from the
        first insn to the sequence.

It's the only change that appears relevant and the address of xyzzy is
loaded in the delay slot of the call to fnptr:

  {
    int xyzzy;
    fnptr (&xyzzy);
  }

foo:
        .PROC
        .CALLINFO FRAME=64,CALLS,SAVE_RP
        .ENTRY
        ; basic block 2
        stw %r2,-20(%r30)
.LCFI0:
        ldo 64(%r30),%r30
.LCFI1:
        ; /home/dave/gcc-4.3/gcc/gcc/testsuite/gcc.dg/debug/debug-6.c:29
        .loc 1 29 0
        bl fnptr,%r2
        ldo -56(%r30),%r26
        ; /home/dave/gcc-4.3/gcc/gcc/testsuite/gcc.dg/debug/debug-6.c:38
        .loc 1 38 0
        ldw -84(%r30),%r2
        bv %r0(%r2)
        ldo -64(%r30),%r30
        .EXIT
        .PROCEND


-- 

danglin at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |drow at gcc dot gnu dot org


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

Reply via email to