public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libgomp/39746]  New: [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above
@ 2009-04-12 19:40 danglin at gcc dot gnu dot org
  2009-04-13 23:10 ` [Bug libgomp/39746] " dave at hiauly1 dot hia dot nrc dot ca
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: danglin at gcc dot gnu dot org @ 2009-04-12 19:40 UTC (permalink / raw)
  To: gcc-bugs

Executing on host: /test/gnu/gcc/objdir/gcc/xgcc -B/test/gnu/gcc/objdir/gcc/
/te
st/gnu/gcc/gcc/libgomp/testsuite/libgomp.c++/pr34513.C 
-B/test/gnu/gcc/objdir/h
ppa64-hp-hpux11.11/./libgomp/
-I/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libgo
mp -I/test/gnu/gcc/gcc/libgomp/testsuite/.. -fmessage-length=0 -fopenmp  -O1 
-n
ostdinc++
-I/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/include/hppa64
-hp-hpux11.11 -I/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/libstdc++-v3/include
-I
/test/gnu/gcc/gcc/libstdc++-v3/libsupc++
-I/test/gnu/gcc/gcc/libstdc++-v3/includ
e/backward -I/test/gnu/gcc/gcc/libstdc++-v3/testsuite/util
-B/test/gnu/gcc/objdi
r/hppa64-hp-hpux11.11/./libgomp/../libstdc++-v3/src/.libs  
-L/test/gnu/gcc/objd
ir/hppa64-hp-hpux11.11/./libgomp/.libs -lgomp
-L/test/gnu/gcc/objdir/hppa64-hp-h
pux11.11/./libgomp/../libstdc++-v3/src/.libs -lstdc++ -lm   -o ./pr34513.exe    
(timeout = 300)
PASS: libgomp.c++/pr34513.C  -O1  (test for excess errors)
Setting LD_LIBRARY_PATH to
.:/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libgomp/
.libs:/test/gnu/gcc/objdir/gcc:/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libgom
p/../libstdc++-v3/src/.libs:.:/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libgomp
/.libs:/test/gnu/gcc/objdir/gcc:/test/gnu/gcc/objdir/hppa64-hp-hpux11.11/./libgo
mp/../libstdc++-v3/src/.libs
FAIL: libgomp.c++/pr34513.C  -O1  execution test

Program received signal SIGABRT, Aborted.
0x800003fffdde230c in kill () from /lib/pa20_64/libc.2
(gdb) bt
#0  0x800003fffdde230c in kill () from /lib/pa20_64/libc.2
#1  0x800003fffdd916ec in raise () from /lib/pa20_64/libc.2
#2  0x800003fffddc6960 in abort_C () from /lib/pa20_64/libc.2
#3  0x800003fffddc69c4 in abort () from /lib/pa20_64/libc.2
#4  0x4000000000002a88 in main ()
    at /test/gnu/gcc/gcc/libgomp/testsuite/libgomp.c++/pr34513.C:31

This regression was introduced between revisions 145635 and 145706.


-- 
           Summary: [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and
                    above
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgomp
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa*-*-*
  GCC host triplet: hppa*-*-*
GCC target triplet: hppa*-*-*


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


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

* [Bug libgomp/39746] [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above
  2009-04-12 19:40 [Bug libgomp/39746] New: [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above danglin at gcc dot gnu dot org
@ 2009-04-13 23:10 ` dave at hiauly1 dot hia dot nrc dot ca
  2009-04-14  0:10 ` dave at hiauly1 dot hia dot nrc dot ca
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: dave at hiauly1 dot hia dot nrc dot ca @ 2009-04-13 23:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from dave at hiauly1 dot hia dot nrc dot ca  2009-04-13 23:10 -------
Subject: Re:   New: [4.5 Regression] Fail pr34513.c and
        pr34513.C at -O1 and above

The "if (shrd != thrs)" is optimized away.  Attached .s files with -O0
and -O2.

Dave


------- Comment #2 from dave at hiauly1 dot hia dot nrc dot ca  2009-04-13 23:10 -------
Created an attachment (id=17626)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17626&action=view)


------- Comment #3 from dave at hiauly1 dot hia dot nrc dot ca  2009-04-13 23:10 -------
Created an attachment (id=17627)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17627&action=view)


-- 


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


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

* [Bug libgomp/39746] [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above
  2009-04-12 19:40 [Bug libgomp/39746] New: [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above danglin at gcc dot gnu dot org
  2009-04-13 23:10 ` [Bug libgomp/39746] " dave at hiauly1 dot hia dot nrc dot ca
@ 2009-04-14  0:10 ` dave at hiauly1 dot hia dot nrc dot ca
  2009-04-15  5:07 ` dave at hiauly1 dot hia dot nrc dot ca
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: dave at hiauly1 dot hia dot nrc dot ca @ 2009-04-14  0:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from dave at hiauly1 dot hia dot nrc dot ca  2009-04-14 00:10 -------
Subject: Re:  [4.5 Regression] Fail pr34513.c and
        pr34513.C at -O1 and above

> The "if (shrd != thrs)" is optimized away.  Attached .s files with -O0
> and -O2.

The last pass with the comparison at -O2 is 051t.cunrolli.

Dave


------- Comment #5 from dave at hiauly1 dot hia dot nrc dot ca  2009-04-14 00:10 -------
Created an attachment (id=17628)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17628&action=view)


------- Comment #6 from dave at hiauly1 dot hia dot nrc dot ca  2009-04-14 00:10 -------
Created an attachment (id=17629)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17629&action=view)


-- 


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


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

* [Bug libgomp/39746] [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above
  2009-04-12 19:40 [Bug libgomp/39746] New: [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above danglin at gcc dot gnu dot org
  2009-04-13 23:10 ` [Bug libgomp/39746] " dave at hiauly1 dot hia dot nrc dot ca
  2009-04-14  0:10 ` dave at hiauly1 dot hia dot nrc dot ca
@ 2009-04-15  5:07 ` dave at hiauly1 dot hia dot nrc dot ca
  2009-04-15 16:01 ` [Bug tree-optimization/39746] " danglin at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: dave at hiauly1 dot hia dot nrc dot ca @ 2009-04-15  5:07 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from dave at hiauly1 dot hia dot nrc dot ca  2009-04-15 05:07 -------
Subject: Re:  [4.5 Regression] Fail pr34513.c and
        pr34513.C at -O1 and above

Attached .i.

Dave


------- Comment #8 from dave at hiauly1 dot hia dot nrc dot ca  2009-04-15 05:07 -------
Created an attachment (id=17641)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17641&action=view)


-- 


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


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

* [Bug tree-optimization/39746] [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above
  2009-04-12 19:40 [Bug libgomp/39746] New: [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above danglin at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2009-04-15  5:07 ` dave at hiauly1 dot hia dot nrc dot ca
@ 2009-04-15 16:01 ` danglin at gcc dot gnu dot org
  2009-04-15 16:20 ` rguenth at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: danglin at gcc dot gnu dot org @ 2009-04-15 16:01 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from danglin at gcc dot gnu dot org  2009-04-15 16:01 -------
This regression was introduced by the following change:

2009-04-07  Richard Guenther  <rguenther@suse.de>

        * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Non-aliased
        decls are only used if passes as parameters or if they are
        local statics and the call is not to a builtin.
        (call_may_clobber_ref_p_1): Likewise.


-- 

danglin at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenther at suse dot de
          Component|libgomp                     |tree-optimization


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


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

* [Bug tree-optimization/39746] [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above
  2009-04-12 19:40 [Bug libgomp/39746] New: [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above danglin at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2009-04-15 16:01 ` [Bug tree-optimization/39746] " danglin at gcc dot gnu dot org
@ 2009-04-15 16:20 ` rguenth at gcc dot gnu dot org
  2009-04-15 17:56 ` dave at hiauly1 dot hia dot nrc dot ca
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-04-15 16:20 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from rguenth at gcc dot gnu dot org  2009-04-15 16:19 -------
Hmm, are you sure that revision is the cause?  What happens is that the
variable thrs is appearantly a translation-unit local constant variable
with a constant initializer of 4.  CCP looks that up via
get_symbol_constant_value
and propagates it.

Indeed the testcase has

static int thrs = 4;

and thrs is never written to so ipa-reference marks it constant.

The test changes to

  if (shrd.1_3 != 4)

maybe you are looking for a different pass then?


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|rguenther at suse dot de    |rguenth at gcc dot gnu dot
                   |                            |org


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


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

* [Bug tree-optimization/39746] [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above
  2009-04-12 19:40 [Bug libgomp/39746] New: [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above danglin at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2009-04-15 16:20 ` rguenth at gcc dot gnu dot org
@ 2009-04-15 17:56 ` dave at hiauly1 dot hia dot nrc dot ca
  2009-04-16 18:14 ` pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: dave at hiauly1 dot hia dot nrc dot ca @ 2009-04-15 17:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from dave at hiauly1 dot hia dot nrc dot ca  2009-04-15 17:56 -------
Subject: Re:  [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above

> Hmm, are you sure that revision is the cause?  What happens is that the

No, but it exposed the problem.

> static int thrs = 4;
> 
> and thrs is never written to so ipa-reference marks it constant.
> 
> The test changes to
> 
>   if (shrd.1_3 != 4)
> 
> maybe you are looking for a different pass then?

Looking again, it's not clear why the test fails.  errors ends up at 3.

Dave


-- 


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


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

* [Bug tree-optimization/39746] [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above
  2009-04-12 19:40 [Bug libgomp/39746] New: [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above danglin at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2009-04-15 17:56 ` dave at hiauly1 dot hia dot nrc dot ca
@ 2009-04-16 18:14 ` pinskia at gcc dot gnu dot org
  2009-04-16 18:46 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2009-04-16 18:14 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org
   Target Milestone|---                         |4.5.0


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


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

* [Bug tree-optimization/39746] [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above
  2009-04-12 19:40 [Bug libgomp/39746] New: [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above danglin at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2009-04-16 18:14 ` pinskia at gcc dot gnu dot org
@ 2009-04-16 18:46 ` pinskia at gcc dot gnu dot org
  2009-04-16 18:52 ` dave at hiauly1 dot hia dot nrc dot ca
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2009-04-16 18:46 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from pinskia at gcc dot gnu dot org  2009-04-16 18:45 -------

        stw %r3,RR'shrd.1301-$global$(%r1)
        .CALL 
        bl GOMP_atomic_end,%r2
        nop
        .CALL 
        bl GOMP_barrier,%r2
        nop
        comib,= 4,%r3,L$0006
        ldw -84(%r30),%r2

So r3 after the call to GOMP_barrier contains the old value of shrd which seems
wrong.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2009-04-16 18:45:47
               date|                            |


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


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

* [Bug tree-optimization/39746] [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above
  2009-04-12 19:40 [Bug libgomp/39746] New: [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above danglin at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2009-04-16 18:46 ` pinskia at gcc dot gnu dot org
@ 2009-04-16 18:52 ` dave at hiauly1 dot hia dot nrc dot ca
  2009-04-17  8:26 ` rguenth at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: dave at hiauly1 dot hia dot nrc dot ca @ 2009-04-16 18:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from dave at hiauly1 dot hia dot nrc dot ca  2009-04-16 18:52 -------
Subject: Re:  [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above

> So r3 after the call to GOMP_barrier contains the old value of shrd which seems
> wrong.

Yes, I currently believe the problem is with GOMP_barrier.

Dave


-- 


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


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

* [Bug tree-optimization/39746] [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above
  2009-04-12 19:40 [Bug libgomp/39746] New: [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above danglin at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2009-04-16 18:52 ` dave at hiauly1 dot hia dot nrc dot ca
@ 2009-04-17  8:26 ` rguenth at gcc dot gnu dot org
  2009-04-17 10:29 ` rguenth at gcc dot gnu dot org
  2009-04-17 10:30 ` rguenth at gcc dot gnu dot org
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-04-17  8:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from rguenth at gcc dot gnu dot org  2009-04-17 08:26 -------
Ah.  I see what goes on then.  The new logic assumes that GOMP_barrier does not
change shrd (which is a local non-address-taken static variable in main,
accessed from the OMP clone main.omp_fn.0).  This is of course true, but
nothing
in GCC knows about threads - instead we rely on the builtins to act as
optimization barriers.

The patch breaks this assumption.

I will revert the broken part for now.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2009-04-16 18:45:47         |2009-04-17 08:26:00
               date|                            |


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


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

* [Bug tree-optimization/39746] [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above
  2009-04-12 19:40 [Bug libgomp/39746] New: [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above danglin at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2009-04-17  8:26 ` rguenth at gcc dot gnu dot org
@ 2009-04-17 10:29 ` rguenth at gcc dot gnu dot org
  2009-04-17 10:30 ` rguenth at gcc dot gnu dot org
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-04-17 10:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from rguenth at gcc dot gnu dot org  2009-04-17 10:29 -------
Subject: Bug 39746

Author: rguenth
Date: Fri Apr 17 10:29:26 2009
New Revision: 146240

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=146240
Log:
2009-04-17  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/39746
        * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Remove
        special-casing for builtins and static variable use/def.
        (call_may_clobber_ref_p_1): Likewise.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-ssa-alias.c


-- 


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


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

* [Bug tree-optimization/39746] [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above
  2009-04-12 19:40 [Bug libgomp/39746] New: [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above danglin at gcc dot gnu dot org
                   ` (10 preceding siblings ...)
  2009-04-17 10:29 ` rguenth at gcc dot gnu dot org
@ 2009-04-17 10:30 ` rguenth at gcc dot gnu dot org
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-04-17 10:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from rguenth at gcc dot gnu dot org  2009-04-17 10:29 -------
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

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


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


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

end of thread, other threads:[~2009-04-17 10:30 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-12 19:40 [Bug libgomp/39746] New: [4.5 Regression] Fail pr34513.c and pr34513.C at -O1 and above danglin at gcc dot gnu dot org
2009-04-13 23:10 ` [Bug libgomp/39746] " dave at hiauly1 dot hia dot nrc dot ca
2009-04-14  0:10 ` dave at hiauly1 dot hia dot nrc dot ca
2009-04-15  5:07 ` dave at hiauly1 dot hia dot nrc dot ca
2009-04-15 16:01 ` [Bug tree-optimization/39746] " danglin at gcc dot gnu dot org
2009-04-15 16:20 ` rguenth at gcc dot gnu dot org
2009-04-15 17:56 ` dave at hiauly1 dot hia dot nrc dot ca
2009-04-16 18:14 ` pinskia at gcc dot gnu dot org
2009-04-16 18:46 ` pinskia at gcc dot gnu dot org
2009-04-16 18:52 ` dave at hiauly1 dot hia dot nrc dot ca
2009-04-17  8:26 ` rguenth at gcc dot gnu dot org
2009-04-17 10:29 ` rguenth at gcc dot gnu dot org
2009-04-17 10:30 ` rguenth at gcc dot gnu dot 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).