public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/39120]  New: [4.2/4.3/4.4 Regression] Missed escape constraints for call results
@ 2009-02-06 17:59 rguenth at gcc dot gnu dot org
  2009-02-06 17:59 ` [Bug tree-optimization/39120] " rguenth at gcc dot gnu dot org
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-02-06 17:59 UTC (permalink / raw)
  To: gcc-bugs

struct X { int *p; } x;

struct X __attribute__((noinline))
foo(int *p) { struct X x; x.p = p; return x; }

void __attribute((noinline))
bar() { *x.p = 1; }

extern void abort (void);
int main()
{
  int i = 0;
  x = foo(&i);
  bar();
  if (i != 1)
    abort ();
  return 0;
}


-- 
           Summary: [4.2/4.3/4.4 Regression] Missed escape constraints for
                    call results
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Keywords: wrong-code, alias
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rguenth at gcc dot gnu dot org


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


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

* [Bug tree-optimization/39120] [4.2/4.3/4.4 Regression] Missed escape constraints for call results
  2009-02-06 17:59 [Bug tree-optimization/39120] New: [4.2/4.3/4.4 Regression] Missed escape constraints for call results rguenth at gcc dot gnu dot org
@ 2009-02-06 17:59 ` rguenth at gcc dot gnu dot org
  2009-02-07 12:31 ` rguenth at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-02-06 17:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from rguenth at gcc dot gnu dot org  2009-02-06 17:59 -------
I have a patch.


-- 

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|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
      Known to fail|                            |4.2.4 4.3.3 4.4.0
      Known to work|                            |4.1.2
   Last reconfirmed|0000-00-00 00:00:00         |2009-02-06 17:59:36
               date|                            |
   Target Milestone|---                         |4.2.5


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


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

* [Bug tree-optimization/39120] [4.2/4.3/4.4 Regression] Missed escape constraints for call results
  2009-02-06 17:59 [Bug tree-optimization/39120] New: [4.2/4.3/4.4 Regression] Missed escape constraints for call results rguenth at gcc dot gnu dot org
  2009-02-06 17:59 ` [Bug tree-optimization/39120] " rguenth at gcc dot gnu dot org
@ 2009-02-07 12:31 ` rguenth at gcc dot gnu dot org
  2009-02-09 21:22 ` jsm28 at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-02-07 12:31 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from rguenth at gcc dot gnu dot org  2009-02-07 12:31 -------
Subject: Bug 39120

Author: rguenth
Date: Sat Feb  7 12:31:34 2009
New Revision: 144003

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

        PR tree-optimization/39120
        * tree-ssa-structalias.c (handle_rhs_call): Fill out return
        constraints.
        (handle_lhs_call): Process return constraints.  Add escape
        constraints if necessary.
        (handle_const_call): Fill out return constraints.  Make nested
        case more precise.  Avoid consttmp if possible.
        (handle_pure_call): Fill out return constraints.  Avoid
        callused if possible.
        (find_func_aliases): Simplify call handling.  Manually build
        nonlocal constraints for asm outputs.
        * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Add
        shortcut for const calls.  Properly use is_call_clobbered for
        non-const, non-pure calls.

        * gcc.c-torture/execute/pr39120.c: New testcase.

Added:
    branches/alias-improvements/gcc/testsuite/gcc.c-torture/execute/pr39120.c
Modified:
    branches/alias-improvements/gcc/ChangeLog.alias
    branches/alias-improvements/gcc/tree-ssa-alias.c
    branches/alias-improvements/gcc/tree-ssa-structalias.c


-- 


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


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

* [Bug tree-optimization/39120] [4.2/4.3/4.4 Regression] Missed escape constraints for call results
  2009-02-06 17:59 [Bug tree-optimization/39120] New: [4.2/4.3/4.4 Regression] Missed escape constraints for call results rguenth at gcc dot gnu dot org
  2009-02-06 17:59 ` [Bug tree-optimization/39120] " rguenth at gcc dot gnu dot org
  2009-02-07 12:31 ` rguenth at gcc dot gnu dot org
@ 2009-02-09 21:22 ` jsm28 at gcc dot gnu dot org
  2009-03-24 14:03 ` howarth at nitro dot med dot uc dot edu
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2009-02-09 21:22 UTC (permalink / raw)
  To: gcc-bugs



-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2


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


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

* [Bug tree-optimization/39120] [4.2/4.3/4.4 Regression] Missed escape constraints for call results
  2009-02-06 17:59 [Bug tree-optimization/39120] New: [4.2/4.3/4.4 Regression] Missed escape constraints for call results rguenth at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2009-02-09 21:22 ` jsm28 at gcc dot gnu dot org
@ 2009-03-24 14:03 ` howarth at nitro dot med dot uc dot edu
  2009-03-24 14:20 ` rguenther at suse dot de
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: howarth at nitro dot med dot uc dot edu @ 2009-03-24 14:03 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from howarth at nitro dot med dot uc dot edu  2009-03-24 14:02 -------
Can this be back ported to gcc trunk?


-- 


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


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

* [Bug tree-optimization/39120] [4.2/4.3/4.4 Regression] Missed escape constraints for call results
  2009-02-06 17:59 [Bug tree-optimization/39120] New: [4.2/4.3/4.4 Regression] Missed escape constraints for call results rguenth at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2009-03-24 14:03 ` howarth at nitro dot med dot uc dot edu
@ 2009-03-24 14:20 ` rguenther at suse dot de
  2009-03-24 14:40 ` rguenth at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenther at suse dot de @ 2009-03-24 14:20 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from rguenther at suse dot de  2009-03-24 14:20 -------
Subject: Re:  [4.2/4.3/4.4 Regression] Missed
 escape constraints for call results

On Tue, 24 Mar 2009, howarth at nitro dot med dot uc dot edu wrote:

> ------- Comment #3 from howarth at nitro dot med dot uc dot edu  2009-03-24 14:02 -------
> Can this be back ported to gcc trunk?

It can, but it would drag in some dependencies, in particular the CALLUSED
handling rewrite and eventually the changes related to handling NONLOCAL
vs. ESCAPED.  I will try to cook up sth but planned to merge these changes
early in stage1 to backport them for 4.4.1 eventually.

Richard.


-- 


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


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

* [Bug tree-optimization/39120] [4.2/4.3/4.4 Regression] Missed escape constraints for call results
  2009-02-06 17:59 [Bug tree-optimization/39120] New: [4.2/4.3/4.4 Regression] Missed escape constraints for call results rguenth at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2009-03-24 14:40 ` rguenth at gcc dot gnu dot org
@ 2009-03-24 14:40 ` rguenth at gcc dot gnu dot org
  2009-03-27 22:37 ` rguenth at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-03-24 14:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from rguenth at gcc dot gnu dot org  2009-03-24 14:40 -------
Created an attachment (id=17532)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17532&action=view)
part #2

Untested patches for the backport.


-- 


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


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

* [Bug tree-optimization/39120] [4.2/4.3/4.4 Regression] Missed escape constraints for call results
  2009-02-06 17:59 [Bug tree-optimization/39120] New: [4.2/4.3/4.4 Regression] Missed escape constraints for call results rguenth at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2009-03-24 14:20 ` rguenther at suse dot de
@ 2009-03-24 14:40 ` rguenth at gcc dot gnu dot org
  2009-03-24 14:40 ` rguenth at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-03-24 14:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from rguenth at gcc dot gnu dot org  2009-03-24 14:39 -------
Created an attachment (id=17531)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17531&action=view)
part #1


-- 


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


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

* [Bug tree-optimization/39120] [4.2/4.3/4.4 Regression] Missed escape constraints for call results
  2009-02-06 17:59 [Bug tree-optimization/39120] New: [4.2/4.3/4.4 Regression] Missed escape constraints for call results rguenth at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2009-03-24 14:40 ` rguenth at gcc dot gnu dot org
@ 2009-03-27 22:37 ` rguenth at gcc dot gnu dot org
  2009-03-27 22:41 ` rguenth at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-03-27 22:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from rguenth at gcc dot gnu dot org  2009-03-27 22:36 -------
Subject: Bug 39120

Author: rguenth
Date: Fri Mar 27 22:36:33 2009
New Revision: 145137

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

        PR tree-optimization/39120
        * tree-ssa-structalias.c (handle_rhs_call): Fill out return
        constraints.
        (handle_lhs_call): Process return constraints.  Add escape
        constraints if necessary.
        (handle_const_call): Fill out return constraints.  Make nested
        case more precise.  Avoid consttmp if possible.
        (handle_pure_call): Fill out return constraints.  Avoid
        callused if possible.
        (find_func_aliases): Simplify call handling.

        * gcc.c-torture/execute/pr39120.c: New testcase.

2009-03-27  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/39120
        * tree-ssa-structalias.c (do_sd_constraint): Do not use CALLUSED
        as a representative.
        (solve_graph): Do propagate CALLUSED.
        (handle_pure_call): Use a scalar constraint from CALLUSED for
        the return value.
        (find_what_p_points_to): CALLUSED shall not appear in poins-to
        solutions.

        * gcc.dg/torture/pta-callused-1.c: New testcase.

Added:
    trunk/gcc/testsuite/gcc.c-torture/execute/pr39120.c
    trunk/gcc/testsuite/gcc.dg/torture/pta-callused-1.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-ssa-structalias.c


-- 


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


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

* [Bug tree-optimization/39120] [4.2/4.3/4.4 Regression] Missed escape constraints for call results
  2009-02-06 17:59 [Bug tree-optimization/39120] New: [4.2/4.3/4.4 Regression] Missed escape constraints for call results rguenth at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2009-03-27 22:37 ` rguenth at gcc dot gnu dot org
@ 2009-03-27 22:41 ` rguenth at gcc dot gnu dot org
  2009-03-31 21:12 ` [Bug tree-optimization/39120] [4.3/4.4 " jsm28 at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-03-27 22:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from rguenth at gcc dot gnu dot org  2009-03-27 22:41 -------
Fixed for 4.5.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|4.1.2                       |4.1.2 4.5.0


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


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

* [Bug tree-optimization/39120] [4.3/4.4 Regression] Missed escape constraints for call results
  2009-02-06 17:59 [Bug tree-optimization/39120] New: [4.2/4.3/4.4 Regression] Missed escape constraints for call results rguenth at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2009-03-27 22:41 ` rguenth at gcc dot gnu dot org
@ 2009-03-31 21:12 ` jsm28 at gcc dot gnu dot org
  2009-06-17 12:40 ` rguenth at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2009-03-31 21:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from jsm28 at gcc dot gnu dot org  2009-03-31 21:09 -------
Closing 4.2 branch.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.2/4.3/4.4 Regression]    |[4.3/4.4 Regression] Missed
                   |Missed escape constraints   |escape constraints for call
                   |for call results            |results
   Target Milestone|4.2.5                       |4.3.4


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


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

* [Bug tree-optimization/39120] [4.3/4.4 Regression] Missed escape constraints for call results
  2009-02-06 17:59 [Bug tree-optimization/39120] New: [4.2/4.3/4.4 Regression] Missed escape constraints for call results rguenth at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2009-03-31 21:12 ` [Bug tree-optimization/39120] [4.3/4.4 " jsm28 at gcc dot gnu dot org
@ 2009-06-17 12:40 ` rguenth at gcc dot gnu dot org
  2009-08-04 12:51 ` rguenth at gcc dot gnu dot org
  2010-05-22 18:31 ` rguenth at gcc dot gnu dot org
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-06-17 12:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from rguenth at gcc dot gnu dot org  2009-06-17 12:40 -------
I have no plans for fixing the branches.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|rguenth at gcc dot gnu dot  |unassigned at gcc dot gnu
                   |org                         |dot org
             Status|ASSIGNED                    |NEW


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


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

* [Bug tree-optimization/39120] [4.3/4.4 Regression] Missed escape constraints for call results
  2009-02-06 17:59 [Bug tree-optimization/39120] New: [4.2/4.3/4.4 Regression] Missed escape constraints for call results rguenth at gcc dot gnu dot org
                   ` (10 preceding siblings ...)
  2009-06-17 12:40 ` rguenth at gcc dot gnu dot org
@ 2009-08-04 12:51 ` rguenth at gcc dot gnu dot org
  2010-05-22 18:31 ` rguenth at gcc dot gnu dot org
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-08-04 12:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from rguenth at gcc dot gnu dot org  2009-08-04 12:29 -------
GCC 4.3.4 is being released, adjusting target milestone.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.3.4                       |4.3.5


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


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

* [Bug tree-optimization/39120] [4.3/4.4 Regression] Missed escape constraints for call results
  2009-02-06 17:59 [Bug tree-optimization/39120] New: [4.2/4.3/4.4 Regression] Missed escape constraints for call results rguenth at gcc dot gnu dot org
                   ` (11 preceding siblings ...)
  2009-08-04 12:51 ` rguenth at gcc dot gnu dot org
@ 2010-05-22 18:31 ` rguenth at gcc dot gnu dot org
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-05-22 18:31 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from rguenth at gcc dot gnu dot org  2010-05-22 18:13 -------
GCC 4.3.5 is being released, adjusting target milestone.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.3.5                       |4.3.6


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


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

end of thread, other threads:[~2010-05-22 18:31 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-06 17:59 [Bug tree-optimization/39120] New: [4.2/4.3/4.4 Regression] Missed escape constraints for call results rguenth at gcc dot gnu dot org
2009-02-06 17:59 ` [Bug tree-optimization/39120] " rguenth at gcc dot gnu dot org
2009-02-07 12:31 ` rguenth at gcc dot gnu dot org
2009-02-09 21:22 ` jsm28 at gcc dot gnu dot org
2009-03-24 14:03 ` howarth at nitro dot med dot uc dot edu
2009-03-24 14:20 ` rguenther at suse dot de
2009-03-24 14:40 ` rguenth at gcc dot gnu dot org
2009-03-24 14:40 ` rguenth at gcc dot gnu dot org
2009-03-27 22:37 ` rguenth at gcc dot gnu dot org
2009-03-27 22:41 ` rguenth at gcc dot gnu dot org
2009-03-31 21:12 ` [Bug tree-optimization/39120] [4.3/4.4 " jsm28 at gcc dot gnu dot org
2009-06-17 12:40 ` rguenth at gcc dot gnu dot org
2009-08-04 12:51 ` rguenth at gcc dot gnu dot org
2010-05-22 18:31 ` 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).