* [Bug middle-end/28075] gimplifier introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
@ 2006-06-17 19:45 ` rguenth at gcc dot gnu dot org
2006-06-17 19:51 ` pinskia at gcc dot gnu dot org
` (15 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-06-17 19:45 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from rguenth at gcc dot gnu dot org 2006-06-17 19:44 -------
http://gcc.gnu.org/ml/gcc-patches/2006-05/msg01236.html does not help (we don't
FRE structure assignments).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug middle-end/28075] gimplifier introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
2006-06-17 19:45 ` [Bug middle-end/28075] " rguenth at gcc dot gnu dot org
@ 2006-06-17 19:51 ` pinskia at gcc dot gnu dot org
2006-06-17 19:53 ` rguenth at gcc dot gnu dot org
` (14 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-06-17 19:51 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from pinskia at gcc dot gnu dot org 2006-06-17 19:45 -------
I have a patch to fix the inliner to get rid of the unnecessary type
conversions.
This only happens with C front-end.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |pinskia at gcc dot gnu dot
|dot org |org
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2006-06-17 19:45:38
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug middle-end/28075] gimplifier introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
2006-06-17 19:45 ` [Bug middle-end/28075] " rguenth at gcc dot gnu dot org
2006-06-17 19:51 ` pinskia at gcc dot gnu dot org
@ 2006-06-17 19:53 ` rguenth at gcc dot gnu dot org
2006-06-17 19:55 ` [Bug middle-end/28075] inliner " pinskia at gcc dot gnu dot org
` (13 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-06-17 19:53 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from rguenth at gcc dot gnu dot org 2006-06-17 19:51 -------
This sort of blocks 28071 because we cannot optimize anything with the casts
there and so regalloc blows up with the large BB.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
OtherBugsDependingO| |28071
nThis| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug middle-end/28075] inliner introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
` (2 preceding siblings ...)
2006-06-17 19:53 ` rguenth at gcc dot gnu dot org
@ 2006-06-17 19:55 ` pinskia at gcc dot gnu dot org
2006-06-17 21:04 ` [Bug middle-end/28075] [4.1/4.2 Regression] " rguenth at gcc dot gnu dot org
` (12 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-06-17 19:55 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from pinskia at gcc dot gnu dot org 2006-06-17 19:53 -------
Here is the patch:
Index: tree-inline.c
===================================================================
--- tree-inline.c (revision 114740)
+++ tree-inline.c (working copy)
@@ -1081,6 +1081,8 @@ setup_one_parameter (copy_body_data *id,
if (rhs == error_mark_node)
return;
+
+ STRIP_USELESS_TYPE_CONVERSION (rhs);
/* We want to use MODIFY_EXPR, not INIT_EXPR here so that we
keep our trees in gimple form. */
@@ -1267,6 +1269,8 @@ declare_return_variable (copy_body_data
use = var;
if (!lang_hooks.types_compatible_p (TREE_TYPE (var), caller_type))
use = fold_convert (caller_type, var);
+
+ STRIP_USELESS_TYPE_CONVERSION (use);
done:
/* Register the VAR_DECL as the equivalent for the RESULT_DECL; that
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
OtherBugsDependingO|28071 |
nThis| |
Summary|gimplifier introduces |inliner introduces
|unnecessary type conversions|unnecessary type conversions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug middle-end/28075] [4.1/4.2 Regression] inliner introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
` (3 preceding siblings ...)
2006-06-17 19:55 ` [Bug middle-end/28075] inliner " pinskia at gcc dot gnu dot org
@ 2006-06-17 21:04 ` rguenth at gcc dot gnu dot org
2006-06-20 2:11 ` pinskia at gcc dot gnu dot org
` (11 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-06-17 21:04 UTC (permalink / raw)
To: gcc-bugs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|inliner introduces |[4.1/4.2 Regression] inliner
|unnecessary type conversions|introduces unnecessary type
| |conversions
Target Milestone|--- |4.1.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug middle-end/28075] [4.1/4.2 Regression] inliner introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
` (4 preceding siblings ...)
2006-06-17 21:04 ` [Bug middle-end/28075] [4.1/4.2 Regression] " rguenth at gcc dot gnu dot org
@ 2006-06-20 2:11 ` pinskia at gcc dot gnu dot org
2006-06-20 3:43 ` [Bug middle-end/28075] [4.1 " pinskia at gcc dot gnu dot org
` (10 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-06-20 2:11 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from pinskia at gcc dot gnu dot org 2006-06-20 02:10 -------
Subject: Bug 28075
Author: pinskia
Date: Tue Jun 20 02:09:57 2006
New Revision: 114801
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=114801
Log:
2006-06-19 Andrew Pinski <pinskia@gmail.com>
PR middle-end/28075
* tree-inline.c (setup_one_parameter): Strip useless
type conversion before adding it to the IR.
(declare_return_variable): Likewise.
2006-06-19 Andrew Pinski <pinskia@gmail.com>
PR middle-end/28075
* gcc.dg/tree-ssa/inline-1.c: New test.
Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/inline-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-inline.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug middle-end/28075] [4.1 Regression] inliner introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
` (5 preceding siblings ...)
2006-06-20 2:11 ` pinskia at gcc dot gnu dot org
@ 2006-06-20 3:43 ` pinskia at gcc dot gnu dot org
2006-06-26 13:47 ` danglin at gcc dot gnu dot org
` (9 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-06-20 3:43 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from pinskia at gcc dot gnu dot org 2006-06-20 02:11 -------
Fixed on the mainline and will commit on the 4.1 after two weeks (unless I get
some time during the summit to commit it, I will).
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail| |4.1.1
Known to work| |4.0.2 4.2.0
Summary|[4.1/4.2 Regression] inliner|[4.1 Regression] inliner
|introduces unnecessary type |introduces unnecessary type
|conversions |conversions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug middle-end/28075] [4.1 Regression] inliner introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
` (6 preceding siblings ...)
2006-06-20 3:43 ` [Bug middle-end/28075] [4.1 " pinskia at gcc dot gnu dot org
@ 2006-06-26 13:47 ` danglin at gcc dot gnu dot org
2006-06-26 14:35 ` dave at hiauly1 dot hia dot nrc dot ca
` (8 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: danglin at gcc dot gnu dot org @ 2006-06-26 13:47 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from danglin at gcc dot gnu dot org 2006-06-26 13:45 -------
This test is still failing on hppa64-hp-hpux11.11.
--
danglin at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |danglin at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug middle-end/28075] [4.1 Regression] inliner introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
` (7 preceding siblings ...)
2006-06-26 13:47 ` danglin at gcc dot gnu dot org
@ 2006-06-26 14:35 ` dave at hiauly1 dot hia dot nrc dot ca
2006-06-26 16:41 ` pinskia at gmail dot com
` (7 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: dave at hiauly1 dot hia dot nrc dot ca @ 2006-06-26 14:35 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from dave at hiauly1 dot hia dot nrc dot ca 2006-06-26 13:47 -------
Subject: Re: [4.1 Regression] inliner introduces unnecessary type conversions
Attached dump.
Dave
------- Comment #9 from dave at hiauly1 dot hia dot nrc dot ca 2006-06-26 13:47 -------
Created an attachment (id=11757)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11757&action=view)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug middle-end/28075] [4.1 Regression] inliner introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
` (8 preceding siblings ...)
2006-06-26 14:35 ` dave at hiauly1 dot hia dot nrc dot ca
@ 2006-06-26 16:41 ` pinskia at gmail dot com
2006-06-29 21:37 ` patchapp at dberlin dot org
` (6 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gmail dot com @ 2006-06-26 16:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from pinskia at gmail dot com 2006-06-26 16:02 -------
Subject: Re: [4.1 Regression] inliner introduces unnecessary type conversions
On Jun 26, 2006, at 6:45 AM, danglin at gcc dot gnu dot org wrote:
>
>
> ------- Comment #7 from danglin at gcc dot gnu dot org 2006-06-26
> 13:45 -------
> This test is still failing on hppa64-hp-hpux11.11.
Yes the test has a simple problem of also matching the type even
without the "()",
I have a fix but I have not applied it yet.
-- Pinski
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug middle-end/28075] [4.1 Regression] inliner introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
` (9 preceding siblings ...)
2006-06-26 16:41 ` pinskia at gmail dot com
@ 2006-06-29 21:37 ` patchapp at dberlin dot org
2006-06-30 14:40 ` pinskia at gcc dot gnu dot org
` (5 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: patchapp at dberlin dot org @ 2006-06-29 21:37 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from patchapp at dberlin dot org 2006-06-29 21:36 -------
Subject: Bug number PR middle-end/28075
A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-06/msg00964.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug middle-end/28075] [4.1 Regression] inliner introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
` (10 preceding siblings ...)
2006-06-29 21:37 ` patchapp at dberlin dot org
@ 2006-06-30 14:40 ` pinskia at gcc dot gnu dot org
2006-07-22 12:42 ` hubicka at gcc dot gnu dot org
` (4 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-06-30 14:40 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from pinskia at gcc dot gnu dot org 2006-06-30 14:31 -------
(In reply to comment #10)
> I have a fix but I have not applied it yet.
And I just applied it.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug middle-end/28075] [4.1 Regression] inliner introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
` (11 preceding siblings ...)
2006-06-30 14:40 ` pinskia at gcc dot gnu dot org
@ 2006-07-22 12:42 ` hubicka at gcc dot gnu dot org
2006-07-22 18:54 ` rguenth at gcc dot gnu dot org
` (3 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: hubicka at gcc dot gnu dot org @ 2006-07-22 12:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from hubicka at gcc dot gnu dot org 2006-07-22 12:42 -------
Is this bug to be closed then?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug middle-end/28075] [4.1 Regression] inliner introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
` (12 preceding siblings ...)
2006-07-22 12:42 ` hubicka at gcc dot gnu dot org
@ 2006-07-22 18:54 ` rguenth at gcc dot gnu dot org
2006-08-14 14:13 ` pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-07-22 18:54 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from rguenth at gcc dot gnu dot org 2006-07-22 18:53 -------
A fix for the failing testcase was applied, the bug is still open on the 4.1
branch.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug middle-end/28075] [4.1 Regression] inliner introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
` (13 preceding siblings ...)
2006-07-22 18:54 ` rguenth at gcc dot gnu dot org
@ 2006-08-14 14:13 ` pinskia at gcc dot gnu dot org
2006-08-14 14:15 ` pinskia at gcc dot gnu dot org
2006-08-26 14:00 ` ebotcazou at gcc dot gnu dot org
16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-08-14 14:13 UTC (permalink / raw)
To: gcc-bugs
------- Comment #15 from pinskia at gcc dot gnu dot org 2006-08-14 14:13 -------
Subject: Bug 28075
Author: pinskia
Date: Mon Aug 14 15:13:29 2006
New Revision: 116127
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116127
Log:
+2006-08-14 Andrew Pinski <pinskia@gmail.com>
+
+ * gcc.dg/tree-ssa/inline-1.c: Fix up scan-tree-dump-times
+ for '(' / ')' needing an extra '\'.
+
+2006-08-14 Andrew Pinski <pinskia@gmail.com>
+
+ PR middle-end/28075
+ * gcc.dg/tree-ssa/inline-1.
+2006-08-14 Andrew Pinski <pinskia@gmail.com>
+
+ PR middle-end/28075
+ * tree-inline.c (setup_one_parameter): Strip useless
+ type conversion before adding it to the IR.
+ (declare_return_variable): Likewise.
+
Added:
branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tree-ssa/inline-1.c
- copied, changed from r114801,
trunk/gcc/testsuite/gcc.dg/tree-ssa/inline-1.c
Modified:
branches/gcc-4_1-branch/gcc/ChangeLog
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
branches/gcc-4_1-branch/gcc/tree-inline.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug middle-end/28075] [4.1 Regression] inliner introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
` (14 preceding siblings ...)
2006-08-14 14:13 ` pinskia at gcc dot gnu dot org
@ 2006-08-14 14:15 ` pinskia at gcc dot gnu dot org
2006-08-26 14:00 ` ebotcazou at gcc dot gnu dot org
16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-08-14 14:15 UTC (permalink / raw)
To: gcc-bugs
------- Comment #16 from pinskia at gcc dot gnu dot org 2006-08-14 14:15 -------
Fixed.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug middle-end/28075] [4.1 Regression] inliner introduces unnecessary type conversions
2006-06-17 19:44 [Bug middle-end/28075] New: gimplifier introduces unnecessary type conversions rguenth at gcc dot gnu dot org
` (15 preceding siblings ...)
2006-08-14 14:15 ` pinskia at gcc dot gnu dot org
@ 2006-08-26 14:00 ` ebotcazou at gcc dot gnu dot org
16 siblings, 0 replies; 18+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2006-08-26 14:00 UTC (permalink / raw)
To: gcc-bugs
------- Comment #17 from ebotcazou at gcc dot gnu dot org 2006-08-26 14:00 -------
Andrew, please remove the superfluous TAB you've added in
+ * tree-inline.c (setup_one_parameter): Strip useless
+ type conversion before adding it to the IR.
on the 4.1 branch at least. Thanks in advance.
--
ebotcazou at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ebotcazou at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28075
^ permalink raw reply [flat|nested] 18+ messages in thread