http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23286
--- Comment #40 from Bernhard Reutner-Fischer
2012-02-23 13:34:37 UTC ---
The ATTRIBUTE_UNUSED of do_hoist_insertion can be removed.
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 0f777b4..bfc7a92 100644
--- a/gcc/tree-ssa-pre.c
+++
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23286
--- Comment #39 from Richard Guenther 2012-02-20
11:50:00 UTC ---
Apart from that libada bootstrap issue (reproduces with the stage1 compiler),
the testsuite is clean apart from vectorizer testcases which show that
do_hoist_insertion is hoisting
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23286
--- Comment #38 from Richard Guenther 2012-02-16
12:44:31 UTC ---
Incremental patch to fix the EH related ICEs:
Index: gcc/tree-ssa-pre.c
===
--- gcc/tree-ssa-pre.c.orig 2012-02
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23286
--- Comment #37 from rguenther at suse dot de
2012-02-16 09:37:54 UTC ---
On Wed, 15 Feb 2012, steven at gcc dot gnu.org wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23286
>
> --- Comment #36 from Steven Bosscher 2012-02-15
> 18:37:40
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23286
--- Comment #36 from Steven Bosscher 2012-02-15
18:37:40 UTC ---
The patch was on one of the gsyprf machines, which are gone (didn't I already
tell you this before??). So the "latest" patch is lost...
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23286
Richard Guenther changed:
What|Removed |Added
Attachment #19634|0 |1
is obsolete|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23286
--- Comment #34 from Richard Guenther 2012-02-15
11:19:55 UTC ---
*** Bug 52256 has been marked as a duplicate of this bug. ***
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23286
--- Comment #33 from Andrew Pinski 2011-07-29
20:11:29 UTC ---
(In reply to comment #26)
> Created attachment 19634 [details]
> updated patch
This patch fails on the trunk now with:
/data/src/gcc-cavium/gcc-4.6-upgrade/src/libstdc++-v3/src/strstr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23286
--- Comment #32 from Andrew Pinski 2011-07-20
00:40:39 UTC ---
Anyone working on this? I have found this happens internally a bit (after
expanding of bitfields accesses).
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23286
--- Comment #31 from Richard Guenther 2010-11-16
14:39:50 UTC ---
(In reply to comment #29)
> I intended to work on this for GCC 4.6. There are many vectorizer failures
> with the v3 patch. My local copy of the patch is at v6 :-) I'll see if I
--- Comment #30 from steven at gcc dot gnu dot org 2010-02-24 09:40 ---
*** Bug 43159 has been marked as a duplicate of this bug. ***
--
steven at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #29 from steven at gcc dot gnu dot org 2010-01-17 13:00 ---
I intended to work on this for GCC 4.6. There are many vectorizer failures
with the v3 patch. My local copy of the patch is at v6 :-) I'll see if I can
make some time to "forward-port" the differences between my v3
--- Comment #28 from rguenth at gcc dot gnu dot org 2010-01-17 12:56
---
sth like
@@ -3893,7 +3893,29 @@ insert_aux (basic_block block, bool do_p
/* Insert expressions for hoisting. */
if (do_hoist && EDGE_COUNT (block->succs) >= 2)
- new_stuff |= do_hoi
--- Comment #27 from rguenth at gcc dot gnu dot org 2010-01-17 12:35
---
Hoh, patches from steven but steven not in CC ...
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
-
--- Comment #26 from rguenth at gcc dot gnu dot org 2010-01-17 12:34
---
Created an attachment (id=19634)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19634&action=view)
updated patch
I updated the patch to apply to current trunk.
I also notice that on the testcase for PR21485
--- Comment #25 from steven at gcc dot gnu dot org 2009-08-04 09:05 ---
*** Bug 40956 has been marked as a duplicate of this bug. ***
--
steven at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #24 from steven at gcc dot gnu dot org 2008-12-01 22:00 ---
Created an attachment (id=16803)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16803&action=view)
patch to implement code hoisting in tree-ssa-pre.c
This passes bootstrap+testing on ia64-linux and amd64-linux.
--- Comment #23 from steven at gcc dot gnu dot org 2008-11-27 15:26 ---
Created an attachment (id=16784)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16784&action=view)
less unpolished version of tree code hoisting
This fixes some bugs in the proof-of-concept patch:
1. Don't hoi
--- Comment #22 from dberlin at gcc dot gnu dot org 2008-11-23 18:30
---
Subject: Re: missed fully redundant expression
Sinking fits into the reverse framework.
Apparently the SSUPRE person plans on submitting when 4.5 opens, and
you can fit sinking frameworks into there.
On Sun, No
--- Comment #21 from steven at gcc dot gnu dot org 2008-11-23 14:20 ---
I'll work on something that bootstraps and passes testing. But cost-related
decisions (like the one from comment #20) are not on my TODO list right now.
The pass that should do this is called sched1 ;-)
--
htt
--- Comment #20 from rguenth at gcc dot gnu dot org 2008-11-23 13:43
---
We also need to make sure not to do hoisting where we should do sinking like
for
int foo(int b, int i)
{
int res;
if (b)
res = i + 1;
else
res = i + 1;
return res;
}
(add some more code that shows
--- Comment #19 from rguenth at gcc dot gnu dot org 2008-11-23 13:32
---
Nice.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23286
--- Comment #18 from steven at gcc dot gnu dot org 2008-11-23 13:22 ---
The test case of PR38204 shows one of the problems with proof-of-concept patch,
namely the "don't move up too much" problem. The .pre dump looks like this:
test (int a, int b, int c, int g)
{
int pretmp.11;
int
--- Comment #17 from steven at gcc dot gnu dot org 2008-11-23 13:11 ---
For the test case of comment #0, the proof-of-concept patch does the following
in the .084t.pre dump (relevant excerpts only):
VBEOUT[2] := { {lshift_expr,a_2(D),1} (0004) }
Inserting expression 5 into AVAIL_OUT[2
--- Comment #16 from steven at gcc dot gnu dot org 2008-11-23 13:07 ---
Created an attachment (id=16751)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16751&action=view)
Proof-of-concept patch
It is not terribly complicated to add hoisting to tree-ssa-pre.c. I have
attached the r
--- Comment #15 from steven at gcc dot gnu dot org 2008-11-21 06:41 ---
*** Bug 38204 has been marked as a duplicate of this bug. ***
--
steven at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #14 from pinskia at gcc dot gnu dot org 2008-02-23 05:22
---
*** Bug 35303 has been marked as a duplicate of this bug. ***
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
-
--- Comment #13 from astrange at ithinksw dot com 2007-10-26 04:08 ---
The closed #32590 is a 4.3 regression, while this is only enhancement.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23286
--- Comment #12 from steven at gcc dot gnu dot org 2007-10-16 13:33 ---
Does not really "block" 24001, but the test case for that bug would be fixed if
code hoisting would be implemented properly.
--
steven at gcc dot gnu dot org changed:
What|Removed
--- Comment #11 from steven at gcc dot gnu dot org 2007-10-10 22:59 ---
*** Bug 32590 has been marked as a duplicate of this bug. ***
--
steven at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #10 from pinskia at gcc dot gnu dot org 2005-10-28 18:43
---
Here is another example which comes from PR 24568 (which really comes from
thedailywtf):
int f(int i)
{
if (i < 0) return i/10+ i;
return i/10 + i;
}
int f2(int i)
{
return i/10 + i;
}
--
pinskia at gcc d
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-29
12:33 ---
*** Bug 23619 has been marked as a duplicate of this bug. ***
--
What|Removed |Added
--- Additional Comments From dberlin at gcc dot gnu dot org 2005-08-08
20:40 ---
Subject: Re: missed fully redundant expression
On Mon, 2005-08-08 at 19:54 +, pinskia at gcc dot gnu dot org wrote:
> --- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-08
> 19:5
--- Additional Comments From dberlin at gcc dot gnu dot org 2005-08-08
20:29 ---
Subject: Re: missed fully redundant expression
On Mon, 2005-08-08 at 19:54 +, pinskia at gcc dot gnu dot org wrote:
> --- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-08
> 19:5
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-08
19:54 ---
Here is a stupid testcase which can be sped up by pulling the reduandant
expressions up:
int ii;
static inline int f(int i, int ii)
{
return i/ ii;
}
int h(int) __attribute__((pure,const));
int g(int i)
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-08
19:36 ---
and a dup of bug 5738 really.
I almost want to close this fully as a dup of bug 5738.
--
What|Removed |Added
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-08
19:34 ---
This is basically PR 15559 which was marked as invalid.
--
What|Removed |Added
BugsThisDepe
--- Additional Comments From dberlin at gcc dot gnu dot org 2005-08-08
18:56 ---
(In reply to comment #1)
> Confirmed, for some reason the following is caught though:
If you thought about it, you'd notice that your example below has two
computations of a = b along the if branch, which i
--- Additional Comments From dberlin at gcc dot gnu dot org 2005-08-08
18:53 ---
(In reply to comment #1)
> Confirmed, for some reason the following is caught though:
because it's a fully redundant expression, that is available when we go to
eliminate, as opposed to the original, which w
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-08
18:42 ---
Confirmed, for some reason the following is caught though:
unsigned short f(unsigned short a)
{
unsigned short b = a <<1;
if (a & 0x8000)
a <<= 1, a = a ^ 0x1021;
else
a = b;
--
What|Removed |Added
Known to fail||4.1.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23286
41 matches
Mail list logo