public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/44505]  New: [4.6 Regression] gcc.c-torture/execute/frame-address.c
@ 2010-06-11 20:49 hjl dot tools at gmail dot com
  2010-06-11 21:36 ` [Bug middle-end/44505] " hjl dot tools at gmail dot com
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: hjl dot tools at gmail dot com @ 2010-06-11 20:49 UTC (permalink / raw)
  To: gcc-bugs

On Linux/ia32, revision 160623 gave:

FAIL: gcc.c-torture/execute/frame-address.c execution,  -O2 
FAIL: gcc.c-torture/execute/frame-address.c execution,  -O3 -g 
FAIL: gcc.c-torture/execute/frame-address.c execution,  -Os 
FAIL: gcc.c-torture/execute/frame-address.c execution,  -O2 -flto 
FAIL: gcc.c-torture/execute/frame-address.c execution,  -O2 -fwhopr 

Revision 160612 is OK.


-- 
           Summary: [4.6 Regression] gcc.c-torture/execute/frame-address.c
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hjl dot tools at gmail dot com


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


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

* [Bug middle-end/44505] [4.6 Regression] gcc.c-torture/execute/frame-address.c
  2010-06-11 20:49 [Bug middle-end/44505] New: [4.6 Regression] gcc.c-torture/execute/frame-address.c hjl dot tools at gmail dot com
@ 2010-06-11 21:36 ` hjl dot tools at gmail dot com
  2010-06-11 21:37 ` hjl dot tools at gmail dot com
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: hjl dot tools at gmail dot com @ 2010-06-11 21:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from hjl dot tools at gmail dot com  2010-06-11 21:36 -------
It is caused by revision 160615:

http://gcc.gnu.org/ml/gcc-cvs/2010-06/msg00530.html


-- 

hjl dot tools at gmail dot com changed:

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


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


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

* [Bug middle-end/44505] [4.6 Regression] gcc.c-torture/execute/frame-address.c
  2010-06-11 20:49 [Bug middle-end/44505] New: [4.6 Regression] gcc.c-torture/execute/frame-address.c hjl dot tools at gmail dot com
  2010-06-11 21:36 ` [Bug middle-end/44505] " hjl dot tools at gmail dot com
@ 2010-06-11 21:37 ` hjl dot tools at gmail dot com
  2010-06-13  9:53 ` dominiq at lps dot ens dot fr
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: hjl dot tools at gmail dot com @ 2010-06-11 21:37 UTC (permalink / raw)
  To: gcc-bugs



-- 

hjl dot tools at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.6.0


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


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

* [Bug middle-end/44505] [4.6 Regression] gcc.c-torture/execute/frame-address.c
  2010-06-11 20:49 [Bug middle-end/44505] New: [4.6 Regression] gcc.c-torture/execute/frame-address.c hjl dot tools at gmail dot com
  2010-06-11 21:36 ` [Bug middle-end/44505] " hjl dot tools at gmail dot com
  2010-06-11 21:37 ` hjl dot tools at gmail dot com
@ 2010-06-13  9:53 ` dominiq at lps dot ens dot fr
  2010-06-16  6:00 ` amodra at gmail dot com
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: dominiq at lps dot ens dot fr @ 2010-06-13  9:53 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from dominiq at lps dot ens dot fr  2010-06-13 09:52 -------
Confirmed on x86_64-apple-darwin10.3.0.


-- 


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


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

* [Bug middle-end/44505] [4.6 Regression] gcc.c-torture/execute/frame-address.c
  2010-06-11 20:49 [Bug middle-end/44505] New: [4.6 Regression] gcc.c-torture/execute/frame-address.c hjl dot tools at gmail dot com
                   ` (2 preceding siblings ...)
  2010-06-13  9:53 ` dominiq at lps dot ens dot fr
@ 2010-06-16  6:00 ` amodra at gmail dot com
  2010-06-16 16:14 ` hubicka at ucw dot cz
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: amodra at gmail dot com @ 2010-06-16  6:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from amodra at gmail dot com  2010-06-16 05:59 -------
Confirmed on powerpc-linux.  check_fa tail calls check_fa_mid, ignoring the
fact that check_fa_mid is passed the address of a check_fa local var.

10000510 <check_fa>:
10000510:       94 21 ff e0     stwu    r1,-32(r1)
10000514:       38 61 00 08     addi    r3,r1,8
10000518:       38 21 00 20     addi    r1,r1,32
1000051c:       4b ff ff b4     b       100004d0 <check_fa_mid>


-- 

amodra at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2010-06-16 05:59:52
               date|                            |


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


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

* [Bug middle-end/44505] [4.6 Regression] gcc.c-torture/execute/frame-address.c
  2010-06-11 20:49 [Bug middle-end/44505] New: [4.6 Regression] gcc.c-torture/execute/frame-address.c hjl dot tools at gmail dot com
                   ` (3 preceding siblings ...)
  2010-06-16  6:00 ` amodra at gmail dot com
@ 2010-06-16 16:14 ` hubicka at ucw dot cz
  2010-06-16 16:15 ` hubicka at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: hubicka at ucw dot cz @ 2010-06-16 16:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from hubicka at ucw dot cz  2010-06-16 16:13 -------
Subject: Re:  [4.6 Regression]
        gcc.c-torture/execute/frame-address.c

> Confirmed on powerpc-linux.  check_fa tail calls check_fa_mid, ignoring the
> fact that check_fa_mid is passed the address of a check_fa local var.

This seems like valid transform to me.  check_fa_mid is recognized as const so
caller know that even if local variable is passed, it is not going to read it.
So i would say that the testcase is semi-invalid at least.

What about adding a asm statement clobbering memory to check_fa_work
to avoid the failure?

On the other hand I was worng to assume that built_in_frame_address does not
make function not-const or pure since it returns address of local frame
that is useless after returning from function.  With parameter greater than
0 it is not true.
I wonder if we care enough about builtin_eh_frame to make it worthwhile to
special case this in ipa-pure-const? It does not 100% fit into the framework
since the calling statement is available only to non-WPA compilation.

Honza


-- 


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


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

* [Bug middle-end/44505] [4.6 Regression] gcc.c-torture/execute/frame-address.c
  2010-06-11 20:49 [Bug middle-end/44505] New: [4.6 Regression] gcc.c-torture/execute/frame-address.c hjl dot tools at gmail dot com
                   ` (4 preceding siblings ...)
  2010-06-16 16:14 ` hubicka at ucw dot cz
@ 2010-06-16 16:15 ` hubicka at gcc dot gnu dot org
  2010-06-17  4:13 ` amodra at gmail dot com
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: hubicka at gcc dot gnu dot org @ 2010-06-16 16:15 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from hubicka at gcc dot gnu dot org  2010-06-16 16:14 -------
mine.


-- 

hubicka at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |hubicka at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2010-06-16 05:59:52         |2010-06-16 16:14:34
               date|                            |


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


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

* [Bug middle-end/44505] [4.6 Regression] gcc.c-torture/execute/frame-address.c
  2010-06-11 20:49 [Bug middle-end/44505] New: [4.6 Regression] gcc.c-torture/execute/frame-address.c hjl dot tools at gmail dot com
                   ` (5 preceding siblings ...)
  2010-06-16 16:15 ` hubicka at gcc dot gnu dot org
@ 2010-06-17  4:13 ` amodra at gmail dot com
  2010-06-17  6:42 ` hubicka at ucw dot cz
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: amodra at gmail dot com @ 2010-06-17  4:13 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from amodra at gmail dot com  2010-06-17 04:13 -------
Hmm.  Well, perhaps the thing to do is ensure we don't get a tail call by
making the same change as in
http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01726.html

Index: gcc/testsuite/gcc.c-torture/execute/frame-address.c
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/frame-address.c (revision 160820)
+++ gcc/testsuite/gcc.c-torture/execute/frame-address.c (working copy)
@@ -25,7 +25,7 @@ int check_fa (char *unused)
 {
   const char c = 0;

-  return check_fa_mid (&c);
+  return check_fa_mid (&c) != 0;
 }

 int how_much (void)


-- 


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


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

* [Bug middle-end/44505] [4.6 Regression] gcc.c-torture/execute/frame-address.c
  2010-06-11 20:49 [Bug middle-end/44505] New: [4.6 Regression] gcc.c-torture/execute/frame-address.c hjl dot tools at gmail dot com
                   ` (6 preceding siblings ...)
  2010-06-17  4:13 ` amodra at gmail dot com
@ 2010-06-17  6:42 ` hubicka at ucw dot cz
  2010-06-21 18:08 ` uros at gcc dot gnu dot org
  2010-06-22 11:43 ` [Bug testsuite/44505] " ubizjak at gmail dot com
  9 siblings, 0 replies; 11+ messages in thread
From: hubicka at ucw dot cz @ 2010-06-17  6:42 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from hubicka at ucw dot cz  2010-06-17 06:41 -------
Subject: Re:  [4.6 Regression]
        gcc.c-torture/execute/frame-address.c

> Hmm.  Well, perhaps the thing to do is ensure we don't get a tail call by
> making the same change as in
> http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01726.html
This seems fine with me ;)

Honza


-- 


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


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

* [Bug middle-end/44505] [4.6 Regression] gcc.c-torture/execute/frame-address.c
  2010-06-11 20:49 [Bug middle-end/44505] New: [4.6 Regression] gcc.c-torture/execute/frame-address.c hjl dot tools at gmail dot com
                   ` (7 preceding siblings ...)
  2010-06-17  6:42 ` hubicka at ucw dot cz
@ 2010-06-21 18:08 ` uros at gcc dot gnu dot org
  2010-06-22 11:43 ` [Bug testsuite/44505] " ubizjak at gmail dot com
  9 siblings, 0 replies; 11+ messages in thread
From: uros at gcc dot gnu dot org @ 2010-06-21 18:08 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from uros at gcc dot gnu dot org  2010-06-21 18:08 -------
Subject: Bug 44505

Author: uros
Date: Mon Jun 21 18:07:59 2010
New Revision: 161105

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=161105
Log:
        PR testsuite/44505
        * gcc.c-torture/execute/frame-address.c (check_fa): Avoid
        tail call to check_fa_mid.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.c-torture/execute/frame-address.c


-- 


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


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

* [Bug testsuite/44505] [4.6 Regression] gcc.c-torture/execute/frame-address.c
  2010-06-11 20:49 [Bug middle-end/44505] New: [4.6 Regression] gcc.c-torture/execute/frame-address.c hjl dot tools at gmail dot com
                   ` (8 preceding siblings ...)
  2010-06-21 18:08 ` uros at gcc dot gnu dot org
@ 2010-06-22 11:43 ` ubizjak at gmail dot com
  9 siblings, 0 replies; 11+ messages in thread
From: ubizjak at gmail dot com @ 2010-06-22 11:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from ubizjak at gmail dot com  2010-06-22 11:43 -------
Fixed.


-- 

ubizjak at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
          Component|middle-end                  |testsuite
 GCC target triplet|                            |4.6.0
         Resolution|                            |FIXED


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


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

end of thread, other threads:[~2010-06-22 11:43 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-06-11 20:49 [Bug middle-end/44505] New: [4.6 Regression] gcc.c-torture/execute/frame-address.c hjl dot tools at gmail dot com
2010-06-11 21:36 ` [Bug middle-end/44505] " hjl dot tools at gmail dot com
2010-06-11 21:37 ` hjl dot tools at gmail dot com
2010-06-13  9:53 ` dominiq at lps dot ens dot fr
2010-06-16  6:00 ` amodra at gmail dot com
2010-06-16 16:14 ` hubicka at ucw dot cz
2010-06-16 16:15 ` hubicka at gcc dot gnu dot org
2010-06-17  4:13 ` amodra at gmail dot com
2010-06-17  6:42 ` hubicka at ucw dot cz
2010-06-21 18:08 ` uros at gcc dot gnu dot org
2010-06-22 11:43 ` [Bug testsuite/44505] " ubizjak at gmail dot com

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).