* [Bug middle-end/36201] [4.4 Regression] NVR in the front-end causes missed optimization later on (<retval> thought to alias arguments)
2008-05-10 19:36 [Bug middle-end/36201] New: " pinskia at gcc dot gnu dot org
@ 2008-12-31 21:12 ` pinskia at gcc dot gnu dot org
2009-01-05 11:19 ` rguenth at gcc dot gnu dot org
` (6 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-12-31 21:12 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from pinskia at gcc dot gnu dot org 2008-12-31 21:11 -------
Actually this testcase is regression because of the removal of SFTs. in
4.1-4.3, the loop did not exist.
In fact I filed this bug right after SFTs were removed.
The reason why it is considered addressable is because of:
/* Return true if T is a GIMPLE variable whose address is not needed. */
bool
is_gimple_non_addressable (tree t)
{
if (TREE_CODE (t) == SSA_NAME)
t = SSA_NAME_VAR (t);
return (is_gimple_variable (t) && ! needs_to_live_in_memory (t));
}
needs_to_live_in_memory is true because of
return (TREE_ADDRESSABLE (t)
|| is_global_var (t)
|| (TREE_CODE (t) == RESULT_DECL
&& aggregate_value_p (t, current_function_decl)));
And aggregate_value_p is true because of:
if (TREE_CODE (exp) == CALL_EXPR && fndecl && DECL_RESULT (fndecl)
&& DECL_BY_REFERENCE (DECL_RESULT (fndecl)))
return 1;
DECL_BY_REFERENCE is true because this is a nonPOD.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|enhancement |normal
Known to fail| |4.4.0
Known to work| |4.3.0 4.1.2
Summary|NVR in the front-end causes |[4.4 Regression] NVR in the
|missed optimization later on|front-end causes missed
|(<retval> thought to alias |optimization later on
|arguments) |(<retval> thought to alias
| |arguments)
Target Milestone|--- |4.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36201
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/36201] [4.4 Regression] NVR in the front-end causes missed optimization later on (<retval> thought to alias arguments)
2008-05-10 19:36 [Bug middle-end/36201] New: " pinskia at gcc dot gnu dot org
2008-12-31 21:12 ` [Bug middle-end/36201] [4.4 Regression] " pinskia at gcc dot gnu dot org
@ 2009-01-05 11:19 ` rguenth at gcc dot gnu dot org
2009-04-03 10:33 ` rguenth at gcc dot gnu dot org
` (5 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-01-05 11:19 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from rguenth at gcc dot gnu dot org 2009-01-05 11:19 -------
Fixed on the alias-improvements branch:
a f(a&, a&) (struct a & g, struct a & h)
{
long long int pretmp.24;
<bb 2>:
# .MEM_12 = VDEF <.MEM_11(D)>
<retval> = *g;
# VUSE <.MEM_12>
pretmp.24 = h->b;
# .MEM_7 = VDEF <.MEM_12>
<retval>.b = [plus_expr] (pretmp.24 + <retval>.b) + pretmp.24 * 1023;
# VUSE <.MEM_7>
return <retval>;
}
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
BugsThisDependsOn| |37696
Priority|P3 |P2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36201
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/36201] [4.4 Regression] NVR in the front-end causes missed optimization later on (<retval> thought to alias arguments)
2008-05-10 19:36 [Bug middle-end/36201] New: " pinskia at gcc dot gnu dot org
2008-12-31 21:12 ` [Bug middle-end/36201] [4.4 Regression] " pinskia at gcc dot gnu dot org
2009-01-05 11:19 ` rguenth at gcc dot gnu dot org
@ 2009-04-03 10:33 ` rguenth at gcc dot gnu dot org
2009-04-21 16:01 ` jakub at gcc dot gnu dot org
` (4 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-04-03 10:33 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from rguenth at gcc dot gnu dot org 2009-04-03 10:32 -------
Fixed for 4.5.0.
--
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
Known to work|4.3.0 4.1.2 |4.3.0 4.1.2 4.5.0
Summary|[4.4/4.5 Regression] NVR in |[4.4 Regression] NVR in the
|the front-end causes missed |front-end causes missed
|optimization later on |optimization later on
|(<retval> thought to alias |(<retval> thought to alias
|arguments) |arguments)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36201
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/36201] [4.4 Regression] NVR in the front-end causes missed optimization later on (<retval> thought to alias arguments)
2008-05-10 19:36 [Bug middle-end/36201] New: " pinskia at gcc dot gnu dot org
` (2 preceding siblings ...)
2009-04-03 10:33 ` rguenth at gcc dot gnu dot org
@ 2009-04-21 16:01 ` jakub at gcc dot gnu dot org
2009-07-22 10:35 ` jakub at gcc dot gnu dot org
` (3 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2009-04-21 16:01 UTC (permalink / raw)
To: gcc-bugs
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.4.0 |4.4.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36201
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/36201] [4.4 Regression] NVR in the front-end causes missed optimization later on (<retval> thought to alias arguments)
2008-05-10 19:36 [Bug middle-end/36201] New: " pinskia at gcc dot gnu dot org
` (3 preceding siblings ...)
2009-04-21 16:01 ` jakub at gcc dot gnu dot org
@ 2009-07-22 10:35 ` jakub at gcc dot gnu dot org
2009-10-15 12:53 ` jakub at gcc dot gnu dot org
` (2 subsequent siblings)
7 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2009-07-22 10:35 UTC (permalink / raw)
To: gcc-bugs
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.4.1 |4.4.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36201
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/36201] [4.4 Regression] NVR in the front-end causes missed optimization later on (<retval> thought to alias arguments)
2008-05-10 19:36 [Bug middle-end/36201] New: " pinskia at gcc dot gnu dot org
` (4 preceding siblings ...)
2009-07-22 10:35 ` jakub at gcc dot gnu dot org
@ 2009-10-15 12:53 ` jakub at gcc dot gnu dot org
2010-01-21 13:19 ` jakub at gcc dot gnu dot org
2010-04-30 8:58 ` jakub at gcc dot gnu dot org
7 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2009-10-15 12:53 UTC (permalink / raw)
To: gcc-bugs
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.4.2 |4.4.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36201
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/36201] [4.4 Regression] NVR in the front-end causes missed optimization later on (<retval> thought to alias arguments)
2008-05-10 19:36 [Bug middle-end/36201] New: " pinskia at gcc dot gnu dot org
` (5 preceding siblings ...)
2009-10-15 12:53 ` jakub at gcc dot gnu dot org
@ 2010-01-21 13:19 ` jakub at gcc dot gnu dot org
2010-04-30 8:58 ` jakub at gcc dot gnu dot org
7 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-01-21 13:19 UTC (permalink / raw)
To: gcc-bugs
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.4.3 |4.4.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36201
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/36201] [4.4 Regression] NVR in the front-end causes missed optimization later on (<retval> thought to alias arguments)
2008-05-10 19:36 [Bug middle-end/36201] New: " pinskia at gcc dot gnu dot org
` (6 preceding siblings ...)
2010-01-21 13:19 ` jakub at gcc dot gnu dot org
@ 2010-04-30 8:58 ` jakub at gcc dot gnu dot org
7 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-04-30 8:58 UTC (permalink / raw)
To: gcc-bugs
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.4.4 |4.4.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36201
^ permalink raw reply [flat|nested] 11+ messages in thread