[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-23 Thread rguenth at gcc dot gnu dot org
--- Comment #20 from rguenth at gcc dot gnu dot org 2007-11-23 14:29 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|NEW

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-23 Thread rguenth at gcc dot gnu dot org
--- Comment #19 from rguenth at gcc dot gnu dot org 2007-11-23 14:29 --- Subject: Bug 34176 Author: rguenth Date: Fri Nov 23 14:28:59 2007 New Revision: 130379 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130379 Log: 2007-11-23 Richard Guenther <[EMAIL PROTECTED]> M

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread dberlin at dberlin dot org
--- Comment #18 from dberlin at gcc dot gnu dot org 2007-11-22 23:02 --- Subject: Re: [4.3 Regression] SCCVN breaks gettext On 22 Nov 2007 22:51:12 -, matz at gcc dot gnu dot org <[EMAIL PROTECTED]> wrote: > > > --- Comment #17 from matz at gcc dot gnu dot org 2007-11-22 22:5

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread matz at gcc dot gnu dot org
--- Comment #17 from matz at gcc dot gnu dot org 2007-11-22 22:51 --- We could also save the deletes by using a tick counter, but with that patch the hash tables will be mostly small anyway, so emptying them should be fast enough I hope. And of course we won't get as optimal results as

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread rguenth at gcc dot gnu dot org
--- Comment #16 from rguenth at gcc dot gnu dot org 2007-11-22 22:24 --- ... Indeed - wrong types in the testcase :) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34176

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread rguenth at gcc dot gnu dot org
--- Comment #15 from rguenth at gcc dot gnu dot org 2007-11-22 22:19 --- Bootstrapped / tested on x86_64, interestingly we manage to miscompile the testcase at -O0 now :( (but this _must_ be unrelated to this fix!) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34176

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread rguenth at gcc dot gnu dot org
--- Comment #14 from rguenth at gcc dot gnu dot org 2007-11-22 20:54 --- Created an attachment (id=14615) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14615&action=view) prototype patch Patch clearing the optimistic tables before every iteration and doing a fallback lookup on th

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread dberlin at dberlin dot org
--- Comment #13 from dberlin at gcc dot gnu dot org 2007-11-22 15:35 --- Subject: Re: [4.3 Regression] SCCVN breaks gettext On 22 Nov 2007 14:03:35 -, matz at suse dot de <[EMAIL PROTECTED]> wrote: > > > --- Comment #9 from matz at suse dot de 2007-11-22 14:03 --- > Subje

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread rguenther at suse dot de
--- Comment #12 from rguenther at suse dot de 2007-11-22 15:08 --- Subject: Re: [4.3 Regression] SCCVN breaks gettext On Thu, 22 Nov 2007, matz at gcc dot gnu dot org wrote: > --- Comment #11 from matz at gcc dot gnu dot org 2007-11-22 14:13 --- > Btw. canonicalization/rewri

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread matz at gcc dot gnu dot org
--- Comment #11 from matz at gcc dot gnu dot org 2007-11-22 14:13 --- Btw. canonicalization/rewriting on INSERT is indeed okay. As long as the hash tables are deleted after every iteration (or otherwise invalidated). At least the now provably false information needs to be removed, whic

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread matz at gcc dot gnu dot org
--- Comment #10 from matz at gcc dot gnu dot org 2007-11-22 14:07 --- Created an attachment (id=14608) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14608&action=view) my dump (without patch) This is the dump I'm talking about. Richard uses a different compiler, so our SSA versio

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread matz at suse dot de
--- Comment #9 from matz at suse dot de 2007-11-22 14:03 --- Subject: Re: [4.3 Regression] SCCVN breaks gettext [sorry for the breakage in last response] It does not. The RPO algorithm (the one proven) uses hash table deletes per iteration. About the SCC algorithm they have to say

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread rguenth at gcc dot gnu dot org
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34176

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread rguenth at gcc dot gnu dot org
--- Comment #8 from rguenth at gcc dot gnu dot org 2007-11-22 14:00 --- If you go through the SCCVN dump you realize that Michas analysis of the problem is correct btw: SCC consists of: nitems_21 nitems_1 new_max_9 dest_10 destptr_3 destptr.2_16 dest.3_17 D.1581_18 D.1582_19 nitems_20 d

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread matz at suse dot de
--- Comment #7 from matz at suse dot de 2007-11-22 13:58 --- Subject: Re: [4.3 Regression] SCCVN breaks gettext Hi, On Thu, 22 Nov 2007, dberlin at dberlin dot org wrote: > Right, but this is the optimistic set of hash tables, so that is okay. I initially thought so too, but it rea

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread rguenther at suse dot de
--- Comment #6 from rguenther at suse dot de 2007-11-22 09:35 --- Subject: Re: [4.3 Regression] SCCVN breaks gettext On Thu, 22 Nov 2007, dberlin at dberlin dot org wrote: > --- Comment #4 from dberlin at gcc dot gnu dot org 2007-11-22 04:48 > --- > Subject: Re: [4.3 Regre

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-21 Thread steven at gcc dot gnu dot org
--- Comment #5 from steven at gcc dot gnu dot org 2007-11-22 07:10 --- > The one in a real compiler I have of SCCVN both do canonicalization on > insert, as does the original code from Rice's massively scalar > compiler (which is where the algorithm comes from). "The one"? "real compile

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-21 Thread dberlin at dberlin dot org
--- Comment #4 from dberlin at gcc dot gnu dot org 2007-11-22 04:48 --- Subject: Re: [4.3 Regression] SCCVN breaks gettext On 22 Nov 2007 04:26:57 -, matz at gcc dot gnu dot org <[EMAIL PROTECTED]> wrote: > > > --- Comment #2 from matz at gcc dot gnu dot org 2007-11-22 04:26 -

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-21 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2007-11-22 04:31 --- Created an attachment (id=14600) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14600&action=view) incomplete fix Concept patch touching only the unary case. binary, phi nodes and maybe references would need some

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-21 Thread matz at gcc dot gnu dot org
--- Comment #2 from matz at gcc dot gnu dot org 2007-11-22 04:26 --- The problem starts already in the first iteration: Value numbering destptr_3 stmt = destptr_3 = PHI Setting value number of destptr_3 to dest_9 So, for now we assume dest_9 == destptr_3, quite okay, lets assume so. N

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-21 Thread rguenth at gcc dot gnu dot org
--- Comment #1 from rguenth at gcc dot gnu dot org 2007-11-21 23:02 --- If you look at what SCCVN does for the affected SCC then you see that iteration converges to Setting value number of dest_7 to dest_7 Setting value number of list_23 to list_23 Value numbering destptr_3 stmt = destp