public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
@ 2011-09-03 18:10 danglin at gcc dot gnu.org
  2011-09-03 18:21 ` [Bug other/50283] " danglin at gcc dot gnu.org
                   ` (20 more replies)
  0 siblings, 21 replies; 22+ messages in thread
From: danglin at gcc dot gnu.org @ 2011-09-03 18:10 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 50283
           Summary: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution
                    test
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: danglin@gcc.gnu.org
                CC: rth@gcc.gnu.org
              Host: hppa2.0w-hp-hpux11.11
            Target: hppa2.0w-hp-hpux11.11
             Build: hppa2.0w-hp-hpux11.11


Executing on host: /test/gnu/gcc/objdir/gcc/testsuite/g++/../../g++
-B/test/gnu/gcc/objdir/gcc/testsuite/g++/../../
/test/gnu/gcc/gcc/gcc/testsuite/g++.dg/eh/simd-1.C  -nostdinc++
-I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include/hppa2.0w-hp-hpux11.11
-I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include
-I/test/gnu/gcc/gcc/libstdc++-v3/libsupc++
-I/test/gnu/gcc/gcc/libstdc++-v3/include/backward
-I/test/gnu/gcc/gcc/libstdc++-v3/testsuite/util -fmessage-length=0  -O -Wno-abi
   -L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs 
-B/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs 
-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs  -lm   -o
./simd-1.exe    (timeout = 300)
PASS: g++.dg/eh/simd-1.C (test for excess errors)
Setting LD_LIBRARY_PATH to
.:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs:/test/gnu/gcc/objdir/gcc:.:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs:/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/./libstdc++-v3/src/.libs:/test/gnu/gcc/objdir/gcc
WARNING: program timed out.
FAIL: g++.dg/eh/simd-1.C execution test

The throw in f3 results in an infinite unwind loop.

Thought at first that this might be caused by stack allocation instruction
being placed in call delay slot, but fail also occurs at -O0.

Similar fails are:
FAIL: g++.dg/eh/simd-2.C execution test
FAIL: g++.dg/opt/eh2.C execution test


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug other/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
  2011-09-03 18:21 ` [Bug other/50283] " danglin at gcc dot gnu.org
@ 2011-09-03 18:21 ` danglin at gcc dot gnu.org
  2011-09-03 20:59 ` rguenth at gcc dot gnu.org
                   ` (18 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: danglin at gcc dot gnu.org @ 2011-09-03 18:21 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from John David Anglin <danglin at gcc dot gnu.org> 2011-09-03 18:21:24 UTC ---
Created attachment 25187
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25187
.s file


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug other/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
@ 2011-09-03 18:21 ` danglin at gcc dot gnu.org
  2011-09-03 18:21 ` danglin at gcc dot gnu.org
                   ` (19 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: danglin at gcc dot gnu.org @ 2011-09-03 18:21 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from John David Anglin <danglin at gcc dot gnu.org> 2011-09-03 18:20:58 UTC ---
(In reply to comment #0)

> Thought at first that this might be caused by stack allocation instruction
> being placed in call delay slot, but fail also occurs at -O0.

This is wrong.  The test doesn't fail at -O0 (I ran the wrong executable).
At -O, the CFI labels appear incorrectly placed


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug other/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
  2011-09-03 18:21 ` [Bug other/50283] " danglin at gcc dot gnu.org
  2011-09-03 18:21 ` danglin at gcc dot gnu.org
@ 2011-09-03 20:59 ` rguenth at gcc dot gnu.org
  2011-10-03 19:44 ` danglin at gcc dot gnu.org
                   ` (17 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-09-03 20:59 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.7.0


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug other/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2011-09-03 20:59 ` rguenth at gcc dot gnu.org
@ 2011-10-03 19:44 ` danglin at gcc dot gnu.org
  2011-10-10 12:33 ` [Bug middle-end/50283] " rguenth at gcc dot gnu.org
                   ` (16 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: danglin at gcc dot gnu.org @ 2011-10-03 19:44 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from John David Anglin <danglin at gcc dot gnu.org> 2011-10-03 19:43:40 UTC ---
Created attachment 25405
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25405
.final dump


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2011-10-03 19:44 ` danglin at gcc dot gnu.org
@ 2011-10-10 12:33 ` rguenth at gcc dot gnu.org
  2011-10-10 14:36 ` danglin at gcc dot gnu.org
                   ` (15 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-10-10 12:33 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |EH
           Priority|P3                          |P1
          Component|other                       |middle-end


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2011-10-10 12:33 ` [Bug middle-end/50283] " rguenth at gcc dot gnu.org
@ 2011-10-10 14:36 ` danglin at gcc dot gnu.org
  2011-11-21 17:28 ` danglin at gcc dot gnu.org
                   ` (14 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: danglin at gcc dot gnu.org @ 2011-10-10 14:36 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from John David Anglin <danglin at gcc dot gnu.org> 2011-10-10 14:33:17 UTC ---
The bug was introduced in revision 177218:

2011-08-02  Richard Henderson  <rth@redhat.com>

        PR target/49864
        * reg-notes.def (REG_ARGS_SIZE): New.
        * calls.c (emit_call_1): Emit REG_ARGS_SIZE for call_pop.
        (expand_call): Add REG_ARGS_SIZE to emit_stack_restore.
        * cfgcleanup.c (old_insns_match_p): Don't allow cross-jumping to
        different stack levels.
        * combine-stack-adj.c (adjust_frame_related_expr): Remove.
        (maybe_move_args_size_note): New.
        (combine_stack_adjustments_for_block): Use it.
        * combine.c (distribute_notes): Place REG_ARGS_SIZE.
        * dwarf2cfi.c (dw_cfi_row_struct): Remove args_size member.
        (dw_trace_info): Add beg_true_args_size, end_true_args_size,
        beg_delay_args_size, end_delay_args_size, eh_head, args_size_undefined.
        (cur_cfa): New.
        (queued_args_size): Remove.
        (add_cfi_args_size): Assert size is non-negative.
        (stack_adjust_offset, dwarf2out_args_size): Remove.
        (dwarf2out_stack_adjust, dwarf2out_notice_stack_adjust): Remove.
        (notice_args_size, notice_eh_throw): New.
        (dwarf2out_frame_debug_def_cfa): Use cur_cfa.
        (dwarf2out_frame_debug_adjust_cfa): Likewise.
        (dwarf2out_frame_debug_cfa_offset): Likewise.
        (dwarf2out_frame_debug_expr): Likewise.  Don't stack_adjust_offset.
        (dwarf2out_frame_debug): Don't handle non-frame-related-p insns.
        (change_cfi_row): Don't emit args_size.
        (maybe_record_trace_start_abnormal): Split out from ...
        (maybe_record_trace_start): Here.  Set args_size_undefined.
        (create_trace_edges): Update to match.
        (scan_trace): Handle REG_ARGS_SIZE.
        (connect_traces): Connect args_size between EH insns.
        * emit-rtl.c (try_split): Handle REG_ARGS_SIZE.
        * explow.c (suppress_reg_args_size): New.
        (adjust_stack_1): Split out from ...
        (adjust_stack): ... here.
        (anti_adjust_stack): Use it.
        (allocate_dynamic_stack_space): Suppress REG_ARGS_SIZE.
        * expr.c (mem_autoinc_base): New.
        (fixup_args_size_notes): New.
        (emit_single_push_insn_1): Rename from emit_single_push_insn.
        (emit_single_push_insn): New.  Generate REG_ARGS_SIZE.
        * recog.c (peep2_attempt): Handle REG_ARGS_SIZE.
        * reload1.c (reload_as_needed): Likewise.
        * rtl.h (fixup_args_size_notes): Declare.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2011-10-10 14:36 ` danglin at gcc dot gnu.org
@ 2011-11-21 17:28 ` danglin at gcc dot gnu.org
  2011-11-27 18:59 ` danglin at gcc dot gnu.org
                   ` (13 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: danglin at gcc dot gnu.org @ 2011-11-21 17:28 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from John David Anglin <danglin at gcc dot gnu.org> 2011-11-21 17:04:20 UTC ---
Regarding label placement of frame related insns, we have the following
rtl for f2:

(insn 14 2 15 (sequence [
            (call_insn 5 2 11 (parallel [
                        (call (mem:SI (symbol_ref/v:SI ("@_Z2f3v") [flags
0x203]  <function_decl 7afc7b80 f3>) [0 f3 S4 A32])
                            (const_int 16 [0x10]))
                        (clobber (reg:SI 1 %r1))
                        (clobber (reg:SI 2 %r2))
                        (use (const_int 0 [0]))
                    ]) /test/gnu/gcc/gcc/gcc/testsuite/g++.dg/eh/simd-1.C:30
199 {call_symref}
                 (expr_list:REG_NORETURN (const_int 0 [0])
                    (nil))
                (nil))
            (insn/f 11 5 15 (set (reg/f:SI 30 %r30)
                    (plus:SI (reg/f:SI 30 %r30)
                        (const_int 64 [0x40]))) 111 {addsi3}
                 (nil))
        ]) /test/gnu/gcc/gcc/gcc/testsuite/g++.dg/eh/simd-1.C:30 -1
     (nil))

The assembler for f2 is:

    .SPACE $TEXT$
    .NSUBSPA $CODE$
    .align 4
    .EXPORT _Z2f2v,ENTRY,PRIV_LEV=3
L$FB0002:
_Z2f2v:
    .PROC
    .CALLINFO FRAME=64,CALLS,SAVE_RP
    .ENTRY
    stw %r2,-20(%r30)
L$CFI0001:
    .CALL 
    bl _Z2f3v,%r2
    ldo 64(%r30),%r30
L$CFI0002:
    nop
    .EXIT
    .PROCEND
L$FE0002:

L$CFI0002 is now after the call sequence whereas it used to be
before the sequence.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2011-11-21 17:28 ` danglin at gcc dot gnu.org
@ 2011-11-27 18:59 ` danglin at gcc dot gnu.org
  2011-11-27 19:05 ` danglin at gcc dot gnu.org
                   ` (12 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: danglin at gcc dot gnu.org @ 2011-11-27 18:59 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from John David Anglin <danglin at gcc dot gnu.org> 2011-11-27 18:35:52 UTC ---
Fails have changed somewhat but are still present:

WARNING: program timed out.FAIL: g++.dg/eh/simd-1.C -std=gnu++98 execution test
WARNING: program timed out.FAIL: g++.dg/eh/simd-1.C -std=gnu++11 execution test
FAIL: g++.dg/eh/simd-2.C -std=gnu++98 execution testWARNING: program timed out.
FAIL: g++.dg/eh/simd-2.C -std=gnu++11 execution test
WARNING: program timed out.FAIL: g++.dg/opt/eh2.C -std=gnu++98 execution test
WARNING: program timed out.FAIL: g++.dg/opt/eh2.C -std=gnu++11 execution test

Tested first with -fno-delay-branch and it doesn't fail.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2011-11-27 18:59 ` danglin at gcc dot gnu.org
@ 2011-11-27 19:05 ` danglin at gcc dot gnu.org
  2011-11-27 19:08 ` danglin at gcc dot gnu.org
                   ` (11 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: danglin at gcc dot gnu.org @ 2011-11-27 19:05 UTC (permalink / raw)
  To: gcc-bugs

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

John David Anglin <danglin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #25187|0                           |1
        is obsolete|                            |

--- Comment #7 from John David Anglin <danglin at gcc dot gnu.org> 2011-11-27 18:46:17 UTC ---
Created attachment 25920
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25920
.s file


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2011-11-27 19:05 ` danglin at gcc dot gnu.org
@ 2011-11-27 19:08 ` danglin at gcc dot gnu.org
  2011-11-27 19:25 ` rth at gcc dot gnu.org
                   ` (10 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: danglin at gcc dot gnu.org @ 2011-11-27 19:08 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from John David Anglin <danglin at gcc dot gnu.org> 2011-11-27 18:54:10 UTC ---
This is hack, but test doesn't fail if I interchange ldo and
.cfi_def_cfa_offset
lines:

    ldo 64(%r30),%r30
    .cfi_def_cfa_offset -64

How should a stack adjust in the final instruction of a delayed branch
be described?


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2011-11-27 19:08 ` danglin at gcc dot gnu.org
@ 2011-11-27 19:25 ` rth at gcc dot gnu.org
  2011-11-27 20:51 ` dave.anglin at bell dot net
                   ` (9 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: rth at gcc dot gnu.org @ 2011-11-27 19:25 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Richard Henderson <rth at gcc dot gnu.org> 2011-11-27 18:59:40 UTC ---
You don't.  We're supposed to prevent frame-related insns
from appearing in branch delay slots.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2011-11-27 19:25 ` rth at gcc dot gnu.org
@ 2011-11-27 20:51 ` dave.anglin at bell dot net
  2011-12-01  2:09 ` danglin at gcc dot gnu.org
                   ` (8 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: dave.anglin at bell dot net @ 2011-11-27 20:51 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from dave.anglin at bell dot net 2011-11-27 19:07:46 UTC ---
On 27-Nov-11, at 1:59 PM, rth at gcc dot gnu.org wrote:

> You don't.  We're supposed to prevent frame-related insns
> from appearing in branch delay slots.

Is this a reorg issue?

--
John David Anglin    dave.anglin@bell.net


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2011-11-27 20:51 ` dave.anglin at bell dot net
@ 2011-12-01  2:09 ` danglin at gcc dot gnu.org
  2011-12-01  2:17 ` danglin at gcc dot gnu.org
                   ` (7 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: danglin at gcc dot gnu.org @ 2011-12-01  2:09 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from John David Anglin <danglin at gcc dot gnu.org> 2011-12-01 02:08:20 UTC ---
Author: danglin
Date: Thu Dec  1 02:08:10 2011
New Revision: 181868

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181868
Log:
    PR middle-end/50283
    * config/pa/pa.md (in_branch_delay): Disallow frame related insns.
    (in_nullified_branch_delay): Likewise.
    (in_call_delay): Likewise.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/pa/pa.md


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2011-12-01  2:09 ` danglin at gcc dot gnu.org
@ 2011-12-01  2:17 ` danglin at gcc dot gnu.org
  2011-12-16  7:12 ` pinskia at gcc dot gnu.org
                   ` (6 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: danglin at gcc dot gnu.org @ 2011-12-01  2:17 UTC (permalink / raw)
  To: gcc-bugs

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

John David Anglin <danglin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED

--- Comment #12 from John David Anglin <danglin at gcc dot gnu.org> 2011-12-01 02:17:03 UTC ---
Fixed.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (13 preceding siblings ...)
  2011-12-01  2:17 ` danglin at gcc dot gnu.org
@ 2011-12-16  7:12 ` pinskia at gcc dot gnu.org
  2011-12-17  7:29 ` dave.anglin at bell dot net
                   ` (5 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: pinskia at gcc dot gnu.org @ 2011-12-16  7:12 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #13 from Andrew Pinski <pinskia at gcc dot gnu.org> 2011-12-16 02:16:00 UTC ---
(In reply to comment #10)
> On 27-Nov-11, at 1:59 PM, rth at gcc dot gnu.org wrote:
> 
> > You don't.  We're supposed to prevent frame-related insns
> > from appearing in branch delay slots.
> 
> Is this a reorg issue?

I am creating more generic patch for this for all targets that use branch delay
slots.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (14 preceding siblings ...)
  2011-12-16  7:12 ` pinskia at gcc dot gnu.org
@ 2011-12-17  7:29 ` dave.anglin at bell dot net
  2012-01-10 11:32 ` vries at gcc dot gnu.org
                   ` (4 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: dave.anglin at bell dot net @ 2011-12-17  7:29 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #14 from dave.anglin at bell dot net 2011-12-17 04:12:48 UTC ---
On 15-Dec-11, at 9:16 PM, pinskia at gcc dot gnu.org wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50283
>
> --- Comment #13 from Andrew Pinski <pinskia at gcc dot gnu.org>  
> 2011-12-16 02:16:00 UTC ---
> (In reply to comment #10)
>> On 27-Nov-11, at 1:59 PM, rth at gcc dot gnu.org wrote:
>>
>>> You don't.  We're supposed to prevent frame-related insns
>>> from appearing in branch delay slots.
>>
>> Is this a reorg issue?
>
> I am creating more generic patch for this for all targets that use  
> branch delay
> slots.


My question may have been a bit obtuse but I got the impression that  
this should
be treated as a target specific problem.  Would you please revert my  
target patch
with your generic patch?

Thanks,
Dave
--
John David Anglin    dave.anglin@bell.net


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (15 preceding siblings ...)
  2011-12-17  7:29 ` dave.anglin at bell dot net
@ 2012-01-10 11:32 ` vries at gcc dot gnu.org
  2012-01-10 21:40 ` rth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: vries at gcc dot gnu.org @ 2012-01-10 11:32 UTC (permalink / raw)
  To: gcc-bugs

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

vries at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vries at gcc dot gnu.org

--- Comment #15 from vries at gcc dot gnu.org 2012-01-10 11:31:55 UTC ---
(In reply to comment #9)
> You don't.  We're supposed to prevent frame-related insns
> from appearing in branch delay slots.

Richard,

do you mean this in general, or just for calls?

Either way, we should be able to formulate an assert in scan_trace that checks
this condition. Do you think that would be useful?

Thanks,
- Tom


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (16 preceding siblings ...)
  2012-01-10 11:32 ` vries at gcc dot gnu.org
@ 2012-01-10 21:40 ` rth at gcc dot gnu.org
  2012-01-11  9:45 ` vries at gcc dot gnu.org
                   ` (2 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: rth at gcc dot gnu.org @ 2012-01-10 21:40 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #16 from Richard Henderson <rth at gcc dot gnu.org> 2012-01-10 21:40:22 UTC ---
Calls are especially problematic, yes.  You've just fixed a bug
for branches; hopefully that's the last of them.

Though if it were a matter of preferences, I would expect that
choosing a non-frame-related insn for the delay slot over a
frame-related insn of otherwise equal priority would produce
less heartburn in consumers even if it's possibly to handle it
within gcc.

You absolutely correct that we ought to have a check for this.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (17 preceding siblings ...)
  2012-01-10 21:40 ` rth at gcc dot gnu.org
@ 2012-01-11  9:45 ` vries at gcc dot gnu.org
  2012-01-28 22:22 ` vries at gcc dot gnu.org
  2012-12-06  2:20 ` danglin at gcc dot gnu.org
  20 siblings, 0 replies; 22+ messages in thread
From: vries at gcc dot gnu.org @ 2012-01-11  9:45 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #17 from vries at gcc dot gnu.org 2012-01-11 09:45:02 UTC ---
>> Either way, we should be able to formulate an assert in scan_trace that
>> checks this condition. Do you think that would be useful?

> You absolutely correct that we ought to have a check for this.

Is this check good, or is there another component (f.i.
target/configure-specific)? :
...
Index: gcc/dwarf2cfi.c
===================================================================
--- gcc/dwarf2cfi.c (revision 183070)
+++ gcc/dwarf2cfi.c (working copy)
@@ -2474,6 +2474,7 @@ scan_trace (dw_trace_info *trace)
       for (i = 1; i < n; ++i)
         {
           elt = XVECEXP (pat, 0, i);
+          gcc_assert (!(CALL_P (control) && RTX_FRAME_RELATED_P (elt)));
           scan_insn_after (elt);
         }

...

A mips64el-linux-gnu build already fails this assert at libgcc2.c, on an insn:
...
(insn 92 73 29 (sequence [
            (call_insn/j 27 73 74 (set (reg:DI 2 $2)
                    (call (mem:SI (reg/f:SI 25 $25 [205]) [0 __fixunssfdi S4
A32])
                        (unspec [
                                (const_int 0 [0])
                                (symbol_ref:SI ("__fixunssfdi") [flags 0x41]
<function_decl 0xf7dbe400 __fixunssfdi>)
                            ] UNSPEC_CALL_ATTR))) libgcc2.c:1393 571
{sibcall_value_internal}
                 (expr_list:REG_DEAD (reg:SF 44 $f12)
                    (expr_list:REG_DEAD (reg/f:SI 25 $25 [205])
                        (nil)))
                (expr_list:REG_DEP_TRUE (use (reg:SI 79 $fakec))
                    (expr_list:REG_NORETURN (use (reg:SF 44 $f12))
                        (nil))))
            (insn/f 74 27 86 (set (reg/f:SI 29 $sp)
                    (plus:SI (reg/f:SI 29 $sp)
                        (const_int 16 [0x10]))) 10 {*addsi3}
                 (expr_list:REG_CFA_DEF_CFA (reg/f:SI 29 $sp)
                    (expr_list:REG_CFA_RESTORE (reg:DI 28 $28)
                        (expr_list:REG_CFA_RESTORE (reg:DI 31 $31)
                            (nil)))))
        ]) libgcc2.c:1393 -1
     (nil))
...


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (18 preceding siblings ...)
  2012-01-11  9:45 ` vries at gcc dot gnu.org
@ 2012-01-28 22:22 ` vries at gcc dot gnu.org
  2012-12-06  2:20 ` danglin at gcc dot gnu.org
  20 siblings, 0 replies; 22+ messages in thread
From: vries at gcc dot gnu.org @ 2012-01-28 22:22 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #18 from vries at gcc dot gnu.org 2012-01-28 21:00:14 UTC ---
Submitted generic patch:
http://gcc.gnu.org/ml/gcc-patches/2012-01/msg01540.html


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug middle-end/50283] [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test
  2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
                   ` (19 preceding siblings ...)
  2012-01-28 22:22 ` vries at gcc dot gnu.org
@ 2012-12-06  2:20 ` danglin at gcc dot gnu.org
  20 siblings, 0 replies; 22+ messages in thread
From: danglin at gcc dot gnu.org @ 2012-12-06  2:20 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #19 from John David Anglin <danglin at gcc dot gnu.org> 2012-12-06 02:19:55 UTC ---
Author: danglin
Date: Thu Dec  6 02:19:48 2012
New Revision: 194238

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=194238
Log:
    Backport for mainline:
    2011-11-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

    PR middle-end/50283
    * config/pa/pa.md (in_branch_delay): Disallow frame related insns.
    (in_nullified_branch_delay): Likewise.
    (in_call_delay): Likewise.

    2012-11-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

    PR target/55195
    * config/pa/pa.md (type): Add sibcall and sh_func_adrs insn types.
    (in_branch_delay): Don't allow sibcall or sh_func_adrs insns.
    (in_nullified_branch_delay): Likewise.
    (in_call_delay): Likewise.
    Define delay for sibcall insns.  Adjust Z3 and Z4 insn reservations for
    new types.  Add opaque cond to mark all calls, sibcalls, dyncalls and
    the $$sh_func_adrs call as variable.  Update type of sibcalls and
    $$sh_func_adrs call.
    * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated
    length instead of adjustment.  Handle negative and undefined call
    adjustments for insn_default_length.  Remove adjustment for millicode
    insn with unfilled delay slot.
    (pa_output_millicode_call): Update for revised millicode length.
    * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH.

    2012-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

    * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify
    opaque cond in all call insns.


Modified:
    branches/gcc-4_6-branch/gcc/ChangeLog
    branches/gcc-4_6-branch/gcc/config/pa/pa.c
    branches/gcc-4_6-branch/gcc/config/pa/pa.h
    branches/gcc-4_6-branch/gcc/config/pa/pa.md


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2012-12-06  2:20 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-03 18:10 [Bug other/50283] New: [4.7 Regression] FAIL: g++.dg/eh/simd-1.C execution test danglin at gcc dot gnu.org
2011-09-03 18:21 ` [Bug other/50283] " danglin at gcc dot gnu.org
2011-09-03 18:21 ` danglin at gcc dot gnu.org
2011-09-03 20:59 ` rguenth at gcc dot gnu.org
2011-10-03 19:44 ` danglin at gcc dot gnu.org
2011-10-10 12:33 ` [Bug middle-end/50283] " rguenth at gcc dot gnu.org
2011-10-10 14:36 ` danglin at gcc dot gnu.org
2011-11-21 17:28 ` danglin at gcc dot gnu.org
2011-11-27 18:59 ` danglin at gcc dot gnu.org
2011-11-27 19:05 ` danglin at gcc dot gnu.org
2011-11-27 19:08 ` danglin at gcc dot gnu.org
2011-11-27 19:25 ` rth at gcc dot gnu.org
2011-11-27 20:51 ` dave.anglin at bell dot net
2011-12-01  2:09 ` danglin at gcc dot gnu.org
2011-12-01  2:17 ` danglin at gcc dot gnu.org
2011-12-16  7:12 ` pinskia at gcc dot gnu.org
2011-12-17  7:29 ` dave.anglin at bell dot net
2012-01-10 11:32 ` vries at gcc dot gnu.org
2012-01-10 21:40 ` rth at gcc dot gnu.org
2012-01-11  9:45 ` vries at gcc dot gnu.org
2012-01-28 22:22 ` vries at gcc dot gnu.org
2012-12-06  2:20 ` danglin at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).