https://gcc.gnu.org/bugzilla/show_bug.cgi?id=18046
Patrick Palka changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=18046
--- Comment #20 from Patrick Palka ---
Author: ppalka
Date: Fri Aug 5 23:29:53 2016
New Revision: 239181
URL: https://gcc.gnu.org/viewcvs?rev=239181&root=gcc&view=rev
Log:
Improve forward jump threading of switch statements (PR18046)
gcc/Chang
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=18046
--- Comment #19 from Patrick Palka ---
Author: ppalka
Date: Tue Jul 26 15:19:58 2016
New Revision: 238761
URL: https://gcc.gnu.org/viewcvs?rev=238761&root=gcc&view=rev
Log:
Teach VRP to register assertions along default switch labels (PR18046)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=18046
Patrick Palka changed:
What|Removed |Added
CC||ppalka at gcc dot gnu.org
Assi
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18046
Steven Bosscher changed:
What|Removed |Added
Last reconfirmed|2012-03-18 10:29:57 |2012-11-08 10:29:57
--- Comme
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18046
Andrew Pinski changed:
What|Removed |Added
Last reconfirmed|2010-07-13 10:29:57 |2011-07-19 10:29:57
--- Comment #16 from
--- Comment #15 from steven at gcc dot gnu dot org 2010-07-13 10:29 ---
Still not fixed with r162134:
;; Function bar (bar)
bar ()
{
int prephitmp.4;
:
prephitmp.4_1 = i;
switch (prephitmp.4_1) , case 0: >
:
foo ();
prephitmp.4_7 = i;
# prephitmp.4_8 = PHI
:
switch (p
--- Comment #14 from steven at gcc dot gnu dot org 2010-02-04 22:52 ---
Still not fixed. Still the major source of RTL jump threads.
--
steven at gcc dot gnu dot org changed:
What|Removed |Added
-
--- Comment #13 from law at redhat dot com 2008-09-23 21:55 ---
Subject: Re: Missed jump threading optimization
steven at gcc dot gnu dot org wrote:
> --- Comment #12 from steven at gcc dot gnu dot org 2008-09-21 13:58
> ---
> tree PRE now *does* handle the partially redundan
--- Comment #12 from steven at gcc dot gnu dot org 2008-09-21 13:58 ---
tree PRE now *does* handle the partially redundant global variable load. This
is the .final_cleanup dump:
;; Function bar (bar)
bar ()
{
int prephitmp.13;
:
prephitmp.13 = i;
switch (prephitmp.13) , case 0:
--- Comment #11 from dberlin at gcc dot gnu dot org 2006-03-21 16:57
---
Subject: Re: Missed jump threading
optimization
On Tue, 2006-03-21 at 15:57 +, law at redhat dot com wrote:
>
> --- Comment #9 from law at redhat dot com 2006-03-21 15:57 ---
> We've got zer
--- Comment #10 from pinskia at gcc dot gnu dot org 2006-03-21 16:05
---
(In reply to comment #9)
> Daniel -- there's a pretty obvious redundant load from the global
> variable "i" in this testcase. I haven't investigated why PRE
> is missing this obvious redundancy.
Because tree leve
--- Comment #9 from law at redhat dot com 2006-03-21 15:57 ---
We've got zero chance of threading the jump in this case until the
partially redundant load from "i" is removed.
Daniel -- there's a pretty obvious redundant load from the global
variable "i" in this testcase. I haven't in
--- Comment #8 from steven at gcc dot gnu dot org 2005-10-07 21:21 ---
I don't have time to work on these (new job), so unassigning.
--
steven at gcc dot gnu dot org changed:
What|Removed |Added
-
--- Additional Comments From steven at gcc dot gnu dot org 2005-04-23
16:57 ---
I'm going to implement lowering of some SWITCH_EXPRs at the tree level. At
least the ones that we do not produce a decision tree for now in stmt.c...
--
What|Removed |
--- Additional Comments From law at redhat dot com 2004-10-19 20:16 ---
Subject: Re: Missed jump threading
optimization
On Mon, 2004-10-18 at 16:50, stevenb at suse dot de wrote:
> --- Additional Comments From stevenb at suse dot de 2004-10-18 22:50 ---
> Subject: Re:
--- Additional Comments From stevenb at suse dot de 2004-10-18 22:50 ---
Subject: Re: Missed jump threading optimization
Hmm, threading the default case sounds interesting, but the real
reason why the RTL threader catches this and the tree threader does
not is because on RTL the test ca
--- Additional Comments From law at redhat dot com 2004-10-18 18:31 ---
Subject: Re: Missed jump threading
optimization
On Mon, 2004-10-18 at 11:30, steven at gcc dot gnu dot org wrote:
> --- Additional Comments From steven at gcc dot gnu dot org 2004-10-18 17:30
> ---
--- Additional Comments From steven at gcc dot gnu dot org 2004-10-18 17:30
---
Diego told me to bug Law. Obedient as I always am, I hereby
do so :-)
Jeff, this is a missed jump threading opportunity, the default
case can be threaded here. Any ideas how to fix this?
--
--- Additional Comments From steven at gcc dot gnu dot org 2004-10-18 13:22
---
Might I propose we don't deal with this as an enhancement
request but as a "normal" bug? Killing the jump threader
in cfgcleanup.c would be a mighty feat, it's one of the
slowest parts of the cfgcleanup on R
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-18 12:52
---
Confirmed. To summarize what the code should look like:
extern void foo (void);
extern int i;
void
bar (void)
{
switch (i)
{
case 0:
foo ();
break;
default:
goto other_block;
21 matches
Mail list logo