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