public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
@ 2005-10-16 23:20 ` steven at gcc dot gnu dot org
  2005-10-18  8:36 ` bonzini at gcc dot gnu dot org
                   ` (36 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-10-16 23:20 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #17 from steven at gcc dot gnu dot org  2005-10-16 23:20 -------
On AMD64, I now get the following timings:

                           -O1     -O2
3.3 (profilebootstrapped)  46.64   46.90
4.1 (checking=release)     72.82   156.43

In 4.1, the Big Spenders are "dominance frontiers" (41% usr)
and "tree operand scan" (also 41%) for -O1.  For -O2 those two
also are big time black holes, and the 3 gcse.c CPROP passes
join them at the top of the profile ("dominance frontiers" 18%,
"tree operand scan" 18%, "CPROP 1" 17%, "CPROP 2" 9%, "bypass
jumps" 10%).

So this is still a regression from GCC 3.3.


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|4.0.0                       |4.0.0 4.1.0
   Last reconfirmed|2005-10-16 22:35:50         |2005-10-16 23:20:30
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
  2005-10-16 23:20 ` [Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP steven at gcc dot gnu dot org
@ 2005-10-18  8:36 ` bonzini at gcc dot gnu dot org
  2005-10-18 12:25 ` amacleod at redhat dot com
                   ` (35 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: bonzini at gcc dot gnu dot org @ 2005-10-18  8:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #18 from bonzini at gcc dot gnu dot org  2005-10-18 08:36 -------
Steven, how does your df.c-based cprop fare on this testcase?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
  2005-10-16 23:20 ` [Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP steven at gcc dot gnu dot org
  2005-10-18  8:36 ` bonzini at gcc dot gnu dot org
@ 2005-10-18 12:25 ` amacleod at redhat dot com
  2005-10-29 22:38 ` steven at gcc dot gnu dot org
                   ` (34 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: amacleod at redhat dot com @ 2005-10-18 12:25 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #19 from amacleod at redhat dot com  2005-10-18 12:25 -------
Created an attachment (id=10017)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10017&action=view)
patch for operand scan

Now that correct_use_link is *only* used for real uses, it is no longer
profitable to try to "shortcut" the search for the owner of a use list. The
shortcut use to look at each previous node as the list was traversed, and check
to see if the stmt was modified. If it wasn't, we knew that node was in the
correct list and wouldnt have to scan all the way back to the owner.

well, this testcase was spending almost all its time checking for
stmt_modified_p....  something like 250,000,000 checks on 50,000 calls.

I've removed the no longer useful shortcut, and the results are as follows:

bootstrapped and no new regressions on i686-pc-linux-gnu.

Andrew


                    x86-64:
-O1 on testcase:
before patch     tree operand scan     :   8.00 (36%)
                 TOTAL                 :  22.18

after patch:     tree operand scan     :   1.41 ( 9%)
                 TOTAL                 :  15.62

-O2 on testcase:
before patch     tree operand scan     :   7.88 (15%)
                 TOTAL                 :  53.08

after patch:     tree operand scan     :   1.42 ( 3%)
                 TOTAL                 :  46.94


                    x86:
-O1 on testcase:
before patch     tree operand scan     :   2.54 (17%)
                 TOTAL                 :  14.60


after patch:     tree operand scan     :   1.01 ( 8%)
                 TOTAL                 :  12.51

-O2 on testcase:
before patch     tree operand scan     :   2.95 ( 8%)
                 TOTAL                 :  39.20

after patch:     tree operand scan     :   1.06 ( 3%)
                 TOTAL                 :  38.03


pretty much a wash on cc1-i and cpgram.cc testcases on both targets.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2005-10-18 12:25 ` amacleod at redhat dot com
@ 2005-10-29 22:38 ` steven at gcc dot gnu dot org
  2005-10-31  2:02 ` mmitchel at gcc dot gnu dot org
                   ` (33 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-10-29 22:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #20 from steven at gcc dot gnu dot org  2005-10-29 22:38 -------
amacleod, are you going to post your patch and/or commit it??


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |WAITING


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2005-10-29 22:38 ` steven at gcc dot gnu dot org
@ 2005-10-31  2:02 ` mmitchel at gcc dot gnu dot org
  2005-10-31 13:33 ` amacleod at redhat dot com
                   ` (32 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-10-31  2:02 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #21 from mmitchel at gcc dot gnu dot org  2005-10-31 02:02 -------
I'm going to leave this as P2, since we've got a proposed patch in Comment #19.
 Andrew, do you need a review on that patch?  Or, is there any other reason it
hasn't been committed?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2005-10-31  2:02 ` mmitchel at gcc dot gnu dot org
@ 2005-10-31 13:33 ` amacleod at redhat dot com
  2005-10-31 14:41 ` amacleod at redhat dot com
                   ` (31 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: amacleod at redhat dot com @ 2005-10-31 13:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #22 from amacleod at redhat dot com  2005-10-31 13:33 -------
It will be checked in shortly. I got your OK for this stage last week, and I
was merely waiting for the SVN switchover freeze to expire, trying a new build
and getting back to work today.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2005-10-31 13:33 ` amacleod at redhat dot com
@ 2005-10-31 14:41 ` amacleod at redhat dot com
  2005-10-31 15:04 ` dberlin at gcc dot gnu dot org
                   ` (30 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: amacleod at redhat dot com @ 2005-10-31 14:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #23 from amacleod at redhat dot com  2005-10-31 14:41 -------
Hmm. This has been committed, but the commit hasn't shown up yet. Perhaps
because I tagged it as a tree-optimization PR and I now notice that its marked
as rtl-optimization?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (6 preceding siblings ...)
  2005-10-31 14:41 ` amacleod at redhat dot com
@ 2005-10-31 15:04 ` dberlin at gcc dot gnu dot org
  2005-10-31 15:19 ` amacleod at gcc dot gnu dot org
                   ` (29 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: dberlin at gcc dot gnu dot org @ 2005-10-31 15:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #24 from dberlin at gcc dot gnu dot org  2005-10-31 15:04 -------
I fixed the bug that was preventing it from sending it to this bug, it should
pop up in a second


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (7 preceding siblings ...)
  2005-10-31 15:04 ` dberlin at gcc dot gnu dot org
@ 2005-10-31 15:19 ` amacleod at gcc dot gnu dot org
  2005-10-31 17:12 ` steven at gcc dot gnu dot org
                   ` (28 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: amacleod at gcc dot gnu dot org @ 2005-10-31 15:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #25 from amacleod at redhat dot com  2005-10-31 15:19 -------
Subject: Bug 19097

Author: amacleod
Date: Mon Oct 31 13:38:05 2005
New Revision: 106272

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=106272
Log:

2005-10-31  Andrew MacLeod  <amacleod@redhat.com>

        PR tree-optimization/19097
        * tree-ssa-operands.c (correct_use_link): Don't look for modified
stmts.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-ssa-operands.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (8 preceding siblings ...)
  2005-10-31 15:19 ` amacleod at gcc dot gnu dot org
@ 2005-10-31 17:12 ` steven at gcc dot gnu dot org
  2005-11-08  0:18 ` steven at gcc dot gnu dot org
                   ` (27 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-10-31 17:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #26 from steven at gcc dot gnu dot org  2005-10-31 17:12 -------
Moving back to new, because I don't know if the GCSE CPROP issue with implicit
sets is also already fixed.


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW
   Last reconfirmed|2005-10-16 23:20:30         |2005-10-31 17:12:20
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (9 preceding siblings ...)
  2005-10-31 17:12 ` steven at gcc dot gnu dot org
@ 2005-11-08  0:18 ` steven at gcc dot gnu dot org
  2005-11-08  6:48 ` phython at gcc dot gnu dot org
                   ` (26 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-11-08  0:18 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #27 from steven at gcc dot gnu dot org  2005-11-08 00:18 -------
On AMD64, revision 106596M (the M is for a local loop-invariant.c
patch, nothing special), compiler built with --enable-checking=release:

at -O1:
 tree operand scan     :   1.50 (10%) usr   0.09 (17%) sys   1.62 (10%) wall    
 dominance frontiers   :   9.09 (60%) usr   0.00 ( 0%) sys   9.20 (58%) wall    
 TOTAL                 :  15.05             0.53            15.80

at -O2:
 tree VRP              :  12.20 (23%) usr   0.03 ( 3%) sys  12.44 (23%) wall
 dominance frontiers   :   9.17 (18%) usr   0.01 ( 1%) sys   9.30 (17%) wall    
 CPROP 1               :   8.17 (16%) usr   0.16 (16%) sys   8.44 (16%) wall
 CPROP 2               :   5.54 (11%) usr   0.11 (11%) sys   5.72 (11%) wall
 bypass jumps          :   5.57 (11%) usr   0.11 (11%) sys   5.75 (11%) wall
 TOTAL                 :  52.31             1.00            53.98

For GCC 3.3.5 at -O1 the total time is 26s, and at -O2 it is 31s.



For AMD64 -m32 -march=i686:

at -O1:
 tree operand scan     :   1.48 (10%) usr   0.09 (18%) sys   1.59 (10%) wall
 dominance frontiers   :   9.03 (61%) usr   0.00 ( 0%) sys   9.14 (59%) wall
 TOTAL                 :  14.70             0.49            15.39

at -O2:
 tree VRP              :  11.84 (24%) usr   0.04 ( 4%) sys  12.02 (24%) wall
 dominance frontiers   :   9.11 (19%) usr   0.02 ( 2%) sys   9.25 (18%) wall
 CPROP 1               :   7.54 (15%) usr   0.10 (11%) sys   7.74 (15%) wall
 CPROP 2               :   4.99 (10%) usr   0.10 (11%) sys   5.15 (10%) wall
 bypass jumps          :   4.96 (10%) usr   0.10 (11%) sys   5.12 (10%) wall
 TOTAL                 :  48.97             0.93            50.54

For GCC 3.3.5 at -O1 the total time is 25s, and at -O2 it is 28s.

Compared to my measurements from comment #17, this is good progress.  James, do
you think we can close this bug now?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (10 preceding siblings ...)
  2005-11-08  0:18 ` steven at gcc dot gnu dot org
@ 2005-11-08  6:48 ` phython at gcc dot gnu dot org
  2006-01-08 16:02 ` [Bug rtl-optimization/19097] [3.4/4.0/4.1/4.2 " steven at gcc dot gnu dot org
                   ` (25 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: phython at gcc dot gnu dot org @ 2005-11-08  6:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #28 from phython at gcc dot gnu dot org  2005-11-08 06:48 -------
Steven: How long does 4.0 take to compile this function on your box?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1/4.2 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (11 preceding siblings ...)
  2005-11-08  6:48 ` phython at gcc dot gnu dot org
@ 2006-01-08 16:02 ` steven at gcc dot gnu dot org
  2006-01-08 16:08 ` steven at gcc dot gnu dot org
                   ` (24 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-01-08 16:02 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #29 from steven at gcc dot gnu dot org  2006-01-08 16:02 -------
User times:

optimization    |       GCC version
level           |       3.3-hammer      4.0             4.1
----------------+------------------------------------------------
-O0             |       0m7.248s        0m1.684s        0m1.800s
-O1             |       0m24.786s       0m18.489s       0m18.749s
-O2             |       0m30.390s       0m54.147s       1m9.636s

The top 5 time consumers for each compiler:
timevar         |  GCC version
at -O2          |  3.3-hammer           4.0                 4.1
----------------+--------------------------------------------------
1.              |  cfg cleanup (45%)    dom. front. (24%)   tree VRP (27%)
2.              |  branch pred. (21%)   CPROP 1 (17%)       dom. front. (14%)
3.              |  rest of comp. (10%)  CPROP 2 (13%)       CPROP 1 (14%)
4.              |  CSE 2 (8%)           bypass jumps (13%)  CPROP 2 (10%)
5.              |  global CSE (3%)      CSE (9%)            bypass jumps (9%)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097



^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1/4.2 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (12 preceding siblings ...)
  2006-01-08 16:02 ` [Bug rtl-optimization/19097] [3.4/4.0/4.1/4.2 " steven at gcc dot gnu dot org
@ 2006-01-08 16:08 ` steven at gcc dot gnu dot org
  2006-01-08 16:14 ` steven at gcc dot gnu dot org
                   ` (23 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-01-08 16:08 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #30 from steven at gcc dot gnu dot org  2006-01-08 16:08 -------
Other than VRP taking so much time for GCC 4.1, there are no surprises in the
timings I just added in comment #29 for GCC 4.0 and GCC 4.1.

Computing dominance frontiers is just not a linear operation (especially not
for a function with this many of them :-).  "CPROP 1", "CPROP 2", and "bypass
jumps" are all the same algorithm (const/copy propagation in gcse.c) which also
has known non-linear algorithms for strange test cases like the one for this
bug report.

If only VRP wouldn't suck up so much time here, I would call this one FIXED...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097



^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1/4.2 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (13 preceding siblings ...)
  2006-01-08 16:08 ` steven at gcc dot gnu dot org
@ 2006-01-08 16:14 ` steven at gcc dot gnu dot org
  2006-01-08 18:16 ` steven at gcc dot gnu dot org
                   ` (22 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-01-08 16:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #31 from steven at gcc dot gnu dot org  2006-01-08 16:14 -------
Re. the timings in comment #29, I should have said that my GCC 3.3 was
bootstrapped, but the GCC 4.0 and GCC 4.1 I used were built with "-O0 -g".  I
added 3.3 numbers for "ballpark" reference, not for actual comparison.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097



^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1/4.2 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (14 preceding siblings ...)
  2006-01-08 16:14 ` steven at gcc dot gnu dot org
@ 2006-01-08 18:16 ` steven at gcc dot gnu dot org
  2006-01-08 18:32 ` steven at gcc dot gnu dot org
                   ` (21 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-01-08 18:16 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #32 from steven at gcc dot gnu dot org  2006-01-08 18:16 -------
I have bootstrapped 4.0 and 4.1 and re-timed:
GCC 4.0 0m38.118s
GCC 4.1 0m51.059s

The distribution of the compile time is not significantly different from the
timings of the -O0 compilers.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097



^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1/4.2 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (15 preceding siblings ...)
  2006-01-08 18:16 ` steven at gcc dot gnu dot org
@ 2006-01-08 18:32 ` steven at gcc dot gnu dot org
  2006-01-08 18:40 ` steven at gcc dot gnu dot org
                   ` (20 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-01-08 18:32 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #33 from steven at gcc dot gnu dot org  2006-01-08 18:32 -------
So where are we wrt. GCC 3.3-hammer at -O2?

compiler     absolute time       relative to 3.3-hammer
GCC 3.3      0m30.390s           1.00
GCC 4.0      0m38.118s           1.25
GCC 4.1      0m51.059s           1.68

Jump bypassing is new in GCC 3.4, that accounts for a 5.47s slowdown.  Without
jump bypassing, GCC 4.0 would be ~7% slower than GCC 3.3.

The time for "tree VRP" in GCC 4.1 is 12.12s.  Together with jump bypassing,
this is a ~18s slowdown for GCC 4.1 wrt. GCC 3.3 just due to new passes. 
Without VRP and jump bypassing, GCC 4.1 would be 11% slower than GCC 3.3.

>From the GCC 4.1 .vrp tree dump: "Number of ASSERT_EXPR expressions inserted:
10000".  This is exactly the number of "else" clauses in the test case.  This
requires a huge effort on update_ssa (which is slow already anyway) to fix up
SSA form for all these pseudo-copies (ASSERT_EXPRs are really just copies). 
The resulting SSA replacement table is therefore also just _huge_ (also from
the .vrp dump):

SSA replacement table
N_i -> { O_1 ... O_j } means that N_i replaces O_1, ..., O_j

b_2 -> { b_1 }
b_3 -> { b_1 }
b_4 -> { b_1 }
b_5 -> { b_1 }
b_6 -> { b_1 }
b_7 -> { b_1 }
b_8 -> { b_1 }
b_9 -> { b_1 }
(etc.)

This is unique behavior that can only be triggered for unreasonable code like
this test case.  Eventually it doesn't help to insert all those ASSERT_EXPRs,
so it would still be nice, perhaps, to fix ASSERT_EXPR insertion to better
understand that it is acting stupidly.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097



^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [3.4/4.0/4.1/4.2 regression] Quadratic behavior with many sets for the same register in gcse CPROP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (16 preceding siblings ...)
  2006-01-08 18:32 ` steven at gcc dot gnu dot org
@ 2006-01-08 18:40 ` steven at gcc dot gnu dot org
  2006-01-09 22:26 ` [Bug rtl-optimization/19097] [4.1/4.2 regression] Quadratic behavior with many sets for the same register in VRP steven at gcc dot gnu dot org
                   ` (19 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-01-08 18:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #34 from steven at gcc dot gnu dot org  2006-01-08 18:40 -------
Another factor contributing to the huge compile time requirements of VRP for
this test case is the number of equivalences recorded:

Value ranges after VRP ("..." meaning I cut away a *cough* few b_i SSA names
;-):

b_1: VARYING
b_2: ~[19998, 19998]  EQUIVALENCES: { b_1 b_3 ... b_10001 } (10000 elements)
b_3: ~[19997, 19997]  EQUIVALENCES: { b_1 b_4 ... b_10001 } (9999 elements)
b_4: ~[19996, 19996]  EQUIVALENCES: { b_1 b_5 ... b_10001 } (9998 elements)
...
b_9999: ~[10001, 10001]  EQUIVALENCES: { b_1 b_10000 b_10001 } (3 elements)
b_10000: ~[10000, 10000]  EQUIVALENCES: { b_1 b_10001 } (2 elements)
b_10001: ~[1, 1]  EQUIVALENCES: { b_1 } (1 elements)

I think that, if this is something we should worry about at all, this belongs
in a separate bug report about VRP.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097



^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [4.1/4.2 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (17 preceding siblings ...)
  2006-01-08 18:40 ` steven at gcc dot gnu dot org
@ 2006-01-09 22:26 ` steven at gcc dot gnu dot org
  2006-02-05 21:37 ` steven at gcc dot gnu dot org
                   ` (18 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-01-09 22:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #35 from steven at gcc dot gnu dot org  2006-01-09 22:26 -------
...and so we go blame Diego for the 4.1/4.2 problem, because gcse.c CPROP is no
longer a problem here for GCC 4.0/4.1/4.2.


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|4.0.0 4.1.0                 |4.1.0 4.2.0
      Known to work|3.3.4                       |3.3.4 4.0.0
            Summary|[3.4/4.0/4.1/4.2 regression]|[4.1/4.2 regression]
                   |Quadratic behavior with many|Quadratic behavior with many
                   |sets for the same register  |sets for the same register
                   |in gcse CPROP               |in VRP


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097



^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [4.1/4.2 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (18 preceding siblings ...)
  2006-01-09 22:26 ` [Bug rtl-optimization/19097] [4.1/4.2 regression] Quadratic behavior with many sets for the same register in VRP steven at gcc dot gnu dot org
@ 2006-02-05 21:37 ` steven at gcc dot gnu dot org
  2006-02-05 22:47 ` steven at gcc dot gnu dot org
                   ` (17 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-02-05 21:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #36 from steven at gcc dot gnu dot org  2006-02-05 21:37 -------
I think the easiest way to fix this is to limit the length of the EQUIVALENCE
chains somehow.  I've collected some numbers about the number of elements in
the EQUIVALENCE chains of GCC 2.7.2 (which is the version of GCC in SPEC2000):


frequency   # of elements
  20342          0
  43484          1
  13230          2
   1701          3
    456          4
    207          5
     81          6
     44          7
     24          8
     18          9
      4          10
      4          11
      4          12
      4          13
      2          14
      2          15
      2          16

So if we cut off the element lists at, say, 20 elements, we shouldn't be
missing a significant number of optimizations.

I haven't looked at how such a cut-off should be implemented.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [4.1/4.2 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (19 preceding siblings ...)
  2006-02-05 21:37 ` steven at gcc dot gnu dot org
@ 2006-02-05 22:47 ` steven at gcc dot gnu dot org
  2006-02-24  0:26 ` mmitchel at gcc dot gnu dot org
                   ` (16 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-02-05 22:47 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #37 from steven at gcc dot gnu dot org  2006-02-05 22:47 -------
At least I get VRP time down to nothing with a patchlet like this one:

Index: tree-vrp.c
===================================================================
--- tree-vrp.c  (revision 110617)
+++ tree-vrp.c  (working copy)
@@ -326,7 +326,7 @@ add_equivalence (bitmap equiv, tree var)
   value_range_t *vr = vr_value[ver];

   bitmap_set_bit (equiv, ver);
-  if (vr && vr->equiv)
+  if (vr && vr->equiv && bitmap_count_bits (vr->equiv) < 20)
     bitmap_ior_into (equiv, vr->equiv);
 }


For a proper patch, the number should of course be a PARAM and I think using
bitmap_count_bits penalizes the common case too much (walking the whole bitmap
is cache expensive even for small bitmaps).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [4.1/4.2 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (20 preceding siblings ...)
  2006-02-05 22:47 ` steven at gcc dot gnu dot org
@ 2006-02-24  0:26 ` mmitchel at gcc dot gnu dot org
  2006-05-25  2:38 ` mmitchel at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-02-24  0:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #38 from mmitchel at gcc dot gnu dot org  2006-02-24 00:25 -------
This issue will not be resolved in GCC 4.1.0; retargeted at GCC 4.1.1.


-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.1.0                       |4.1.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [4.1/4.2 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (21 preceding siblings ...)
  2006-02-24  0:26 ` mmitchel at gcc dot gnu dot org
@ 2006-05-25  2:38 ` mmitchel at gcc dot gnu dot org
  2006-08-24 20:50 ` amylaar at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-05-25  2:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #39 from mmitchel at gcc dot gnu dot org  2006-05-25 02:32 -------
Will not be fixed in 4.1.1; adjust target milestone to 4.1.2.


-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.1.1                       |4.1.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug rtl-optimization/19097] [4.1/4.2 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (22 preceding siblings ...)
  2006-05-25  2:38 ` mmitchel at gcc dot gnu dot org
@ 2006-08-24 20:50 ` amylaar at gcc dot gnu dot org
  2006-10-10 11:19 ` [Bug tree-optimization/19097] " rguenth at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2006-08-24 20:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #40 from amylaar at gcc dot gnu dot org  2006-08-24 20:50 -------
(In reply to comment #37)
> For a proper patch, the number should of course be a PARAM and I think using
> bitmap_count_bits penalizes the common case too much (walking the whole bitmap
> is cache expensive even for small bitmaps).

How about:

 -  if (vr && vr->equiv)
 +  if (vr && vr->equiv && vr->equiv->first
        && (!vr->equiv->first->next
            || bitmap_count_bits (vr->equiv) < VRP_EQUIVALENCE_THRESHOLD)))
      bitmap_ior_into (equiv, vr->equiv);

The 0 bit case is sped up, and the 1 bit case is guaranteed to only need two
pointer dereferences to check that there are not too many bits.
Other small bit numbers should still have a high likelyhood to he handled
without a bitmap_count_bits call.
The quick & dirty check might allow more than VRP_EQUIVALENCE_THRESHOLD
bits through if they are tightly packed, but that is still imited to 64
for a host with 32 bit longs, 128 for a host with 64 bit longs.


-- 

amylaar at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amylaar at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug tree-optimization/19097] [4.1/4.2 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (23 preceding siblings ...)
  2006-08-24 20:50 ` amylaar at gcc dot gnu dot org
@ 2006-10-10 11:19 ` rguenth at gcc dot gnu dot org
  2007-02-14  9:04 ` [Bug tree-optimization/19097] [4.1/4.2/4.3 " mmitchel at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-10-10 11:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #41 from rguenth at gcc dot gnu dot org  2006-10-10 11:19 -------
We're still 100% slower than 4.0.3 on the mainline:

Execution times (seconds)
 callgraph construction:   0.21 ( 0%) usr   0.03 ( 2%) sys   0.23 ( 0%) wall  
11563 kB (13%) ggc
 callgraph optimization:   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
 937 kB ( 1%) ggc
 ipa reference         :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 ipa type escape       :   0.03 ( 0%) usr   0.02 ( 1%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 cfg cleanup           :   0.57 ( 1%) usr   0.02 ( 1%) sys   0.62 ( 1%) wall   
1250 kB ( 1%) ggc
 trivially dead code   :   0.10 ( 0%) usr   0.00 ( 0%) sys   0.11 ( 0%) wall   
   0 kB ( 0%) ggc
 life analysis         :   0.33 ( 0%) usr   0.01 ( 1%) sys   0.35 ( 0%) wall   
1250 kB ( 1%) ggc
 life info update      :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.14 ( 0%) wall   
   0 kB ( 0%) ggc
 alias analysis        :   0.21 ( 0%) usr   0.00 ( 0%) sys   0.16 ( 0%) wall   
   1 kB ( 0%) ggc
 register scan         :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 0%) wall   
   0 kB ( 0%) ggc
 rebuild jump labels   :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 preprocessing         :   0.11 ( 0%) usr   0.03 ( 2%) sys   0.14 ( 0%) wall   
 704 kB ( 1%) ggc
 lexical analysis      :   0.07 ( 0%) usr   0.21 (12%) sys   0.20 ( 0%) wall   
   0 kB ( 0%) ggc
 parser                :   0.09 ( 0%) usr   0.06 ( 3%) sys   0.23 ( 0%) wall   
5224 kB ( 6%) ggc
 integration           :   0.08 ( 0%) usr   0.01 ( 1%) sys   0.08 ( 0%) wall   
   0 kB ( 0%) ggc
 tree gimplify         :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
 625 kB ( 1%) ggc
 tree eh               :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree CFG construction :   0.12 ( 0%) usr   0.03 ( 2%) sys   0.15 ( 0%) wall  
14606 kB (16%) ggc
 tree CFG cleanup      :   0.67 ( 1%) usr   0.01 ( 1%) sys   0.65 ( 1%) wall   
   0 kB ( 0%) ggc
 tree VRP              :  40.92 (46%) usr   0.24 (13%) sys  41.26 (46%) wall  
10356 kB (11%) ggc
 tree copy propagation :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall   
   0 kB ( 0%) ggc
 tree store copy prop  :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree find ref. vars   :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree PTA              :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
   6 kB ( 0%) ggc
 tree alias analysis   :   0.14 ( 0%) usr   0.10 ( 6%) sys   0.21 ( 0%) wall   
   0 kB ( 0%) ggc
 tree SSA rewrite      :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
   0 kB ( 0%) ggc
 tree SSA other        :   0.02 ( 0%) usr   0.01 ( 1%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 tree SSA incremental  :   0.07 ( 0%) usr   0.01 ( 1%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree operand scan     :   0.29 ( 0%) usr   0.17 ( 9%) sys   0.35 ( 0%) wall   
2306 kB ( 3%) ggc
 dominator optimization:   0.47 ( 1%) usr   0.01 ( 1%) sys   0.52 ( 1%) wall   
7031 kB ( 8%) ggc
 tree STORE-CCP        :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree CCP              :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree PHI const/copy prop:   0.01 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall 
     0 kB ( 0%) ggc
 tree reassociation    :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall   
   0 kB ( 0%) ggc
 tree PRE              :   0.09 ( 0%) usr   0.01 ( 1%) sys   0.10 ( 0%) wall   
   0 kB ( 0%) ggc
 tree FRE              :   0.05 ( 0%) usr   0.01 ( 1%) sys   0.07 ( 0%) wall   
   0 kB ( 0%) ggc
 tree code sinking     :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree linearize phis   :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 tree forward propagate:   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree conservative DCE :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 0%) wall   
   0 kB ( 0%) ggc
 tree aggressive DCE   :   0.08 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
   0 kB ( 0%) ggc
 tree DSE              :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall   
   0 kB ( 0%) ggc
 PHI merge             :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree loop init        :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 tree copy headers     :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 tree SSA uncprop      :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 tree SSA to normal    :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree rename SSA copies:   0.02 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 dominance frontiers   :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 dominance computation :   0.48 ( 1%) usr   0.03 ( 2%) sys   0.47 ( 1%) wall   
   0 kB ( 0%) ggc
 control dependences   :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 expand                :   0.81 ( 1%) usr   0.06 ( 3%) sys   0.99 ( 1%) wall  
19285 kB (21%) ggc
 jump                  :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 CSE                   :   2.18 ( 2%) usr   0.01 ( 1%) sys   2.18 ( 2%) wall   
   0 kB ( 0%) ggc
 loop analysis         :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall   
   0 kB ( 0%) ggc
 global CSE            :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 CPROP 1               :  14.66 (17%) usr   0.26 (14%) sys  14.93 (17%) wall   
2031 kB ( 2%) ggc
 PRE                   :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 CPROP 2               :  10.01 (11%) usr   0.19 (10%) sys  10.21 (11%) wall   
1406 kB ( 2%) ggc
 bypass jumps          :   9.88 (11%) usr   0.21 (12%) sys  10.10 (11%) wall   
1406 kB ( 2%) ggc
 CSE 2                 :   2.08 ( 2%) usr   0.01 ( 1%) sys   2.09 ( 2%) wall   
   0 kB ( 0%) ggc
 branch prediction     :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.15 ( 0%) wall   
 625 kB ( 1%) ggc
 flow analysis         :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 combiner              :   0.11 ( 0%) usr   0.00 ( 0%) sys   0.11 ( 0%) wall   
 312 kB ( 0%) ggc
 if-conversion         :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
   0 kB ( 0%) ggc
 regmove               :   0.08 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall   
   0 kB ( 0%) ggc
 local alloc           :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%) wall   
   1 kB ( 0%) ggc
 global alloc          :   0.33 ( 0%) usr   0.00 ( 0%) sys   0.33 ( 0%) wall   
   0 kB ( 0%) ggc
 reload CSE regs       :   0.13 ( 0%) usr   0.01 ( 1%) sys   0.14 ( 0%) wall   
2502 kB ( 3%) ggc
 flow 2                :   0.03 ( 0%) usr   0.01 ( 1%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 if-conversion 2       :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 peephole 2            :   0.08 ( 0%) usr   0.00 ( 0%) sys   0.08 ( 0%) wall   
2187 kB ( 2%) ggc
 rename registers      :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
   0 kB ( 0%) ggc
 scheduling 2          :   0.27 ( 0%) usr   0.01 ( 1%) sys   0.28 ( 0%) wall   
 314 kB ( 0%) ggc
 machine dep reorg     :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
1250 kB ( 1%) ggc
 reorder blocks        :   0.15 ( 0%) usr   0.02 ( 1%) sys   0.17 ( 0%) wall   
1875 kB ( 2%) ggc
 final                 :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.13 ( 0%) wall   
 512 kB ( 1%) ggc
 TOTAL                 :  88.19             1.81            90.10             
91385 kB


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug tree-optimization/19097] [4.1/4.2/4.3 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (24 preceding siblings ...)
  2006-10-10 11:19 ` [Bug tree-optimization/19097] " rguenth at gcc dot gnu dot org
@ 2007-02-14  9:04 ` mmitchel at gcc dot gnu dot org
  2007-09-17 13:11 ` rguenth at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2007-02-14  9:04 UTC (permalink / raw)
  To: gcc-bugs



-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.1.2                       |4.1.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug tree-optimization/19097] [4.1/4.2/4.3 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (25 preceding siblings ...)
  2007-02-14  9:04 ` [Bug tree-optimization/19097] [4.1/4.2/4.3 " mmitchel at gcc dot gnu dot org
@ 2007-09-17 13:11 ` rguenth at gcc dot gnu dot org
  2007-11-09 22:08 ` steven at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-09-17 13:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #42 from rguenth at gcc dot gnu dot org  2007-09-17 13:11 -------
Still slow.

 cfg cleanup           :   7.10 (10%) usr   0.16 (10%) sys   7.26 (10%) wall   
 625 kB ( 1%) ggc
 tree VRP              :  27.40 (39%) usr   0.39 (23%) sys  27.91 (38%) wall   
7602 kB (11%) ggc
 CPROP 1               :  12.32 (17%) usr   0.26 (15%) sys  12.58 (17%) wall   
1562 kB ( 2%) ggc
 CPROP 2               :   8.79 (12%) usr   0.20 (12%) sys   9.03 (12%) wall   
1406 kB ( 2%) ggc
 bypass jumps          :   8.73 (12%) usr   0.20 (12%) sys   8.96 (12%) wall   
1406 kB ( 2%) ggc
 TOTAL                 :  70.94             1.68            73.05             
71071 kB


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2005-10-31 17:12:20         |2007-09-17 13:11:02
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug tree-optimization/19097] [4.1/4.2/4.3 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (26 preceding siblings ...)
  2007-09-17 13:11 ` rguenth at gcc dot gnu dot org
@ 2007-11-09 22:08 ` steven at gcc dot gnu dot org
  2007-11-11  5:17 ` sebpop at gmail dot com
                   ` (9 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2007-11-09 22:08 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #43 from steven at gcc dot gnu dot org  2007-11-09 22:08 -------
IMVHO this should be closed as WONTFIX.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug tree-optimization/19097] [4.1/4.2/4.3 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (27 preceding siblings ...)
  2007-11-09 22:08 ` steven at gcc dot gnu dot org
@ 2007-11-11  5:17 ` sebpop at gmail dot com
  2007-11-11  9:24 ` stevenb dot gcc at gmail dot com
                   ` (8 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: sebpop at gmail dot com @ 2007-11-11  5:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #44 from sebpop at gmail dot com  2007-11-11 05:16 -------
Subject: Re:  [4.1/4.2/4.3 regression] Quadratic behavior with many sets for
the same register in VRP

> IMVHO this should be closed as WONTFIX.

Steven, why isn't your patch from comment #37 not a candidate for
fixing this bug?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug tree-optimization/19097] [4.1/4.2/4.3 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (28 preceding siblings ...)
  2007-11-11  5:17 ` sebpop at gmail dot com
@ 2007-11-11  9:24 ` stevenb dot gcc at gmail dot com
  2007-11-11 12:17 ` rguenth at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: stevenb dot gcc at gmail dot com @ 2007-11-11  9:24 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #45 from stevenb dot gcc at gmail dot com  2007-11-11 09:23 -------
Subject: Re:  [4.1/4.2/4.3 regression] Quadratic behavior with many sets for
the same register in VRP

Because it costs more than it brings: compile time on average goes
_up_ with that patch.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug tree-optimization/19097] [4.1/4.2/4.3 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (29 preceding siblings ...)
  2007-11-11  9:24 ` stevenb dot gcc at gmail dot com
@ 2007-11-11 12:17 ` rguenth at gcc dot gnu dot org
  2007-12-18 13:47 ` steven at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-11-11 12:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #46 from rguenth at gcc dot gnu dot org  2007-11-11 12:16 -------
Note that on the mainline equiv processing can be completely turned off by
just tweaking add_equivalence () to do nothing.

There are a few missed optimizations if you do that, but I belive the important
kind of things there should be done in a separate pass (or DOM, which at least
in the past could do these).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug tree-optimization/19097] [4.1/4.2/4.3 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (30 preceding siblings ...)
  2007-11-11 12:17 ` rguenth at gcc dot gnu dot org
@ 2007-12-18 13:47 ` steven at gcc dot gnu dot org
  2008-01-23  9:12 ` steven at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2007-12-18 13:47 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #47 from steven at gcc dot gnu dot org  2007-12-18 13:46 -------
(From update of attachment 10017)
Patch is obsolete because it was commited.


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #10017|0                           |1
        is obsolete|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug tree-optimization/19097] [4.1/4.2/4.3 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (31 preceding siblings ...)
  2007-12-18 13:47 ` steven at gcc dot gnu dot org
@ 2008-01-23  9:12 ` steven at gcc dot gnu dot org
  2008-01-23 10:31 ` rguenth at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2008-01-23  9:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #48 from steven at gcc dot gnu dot org  2008-01-23 08:52 -------
The priority of this bug is too high.  If it wasn't just for recording that
this behavior exists in VRP and CPROP, I would propose to just close this bug
as WONTFIX.  The test case is just too obscure, no man or machine would
normally generate anything like this.

So can a release manager please lower the priority of this bug report?

For GCC 4.4 I hopefully will nuke the CPROP problem.


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug tree-optimization/19097] [4.1/4.2/4.3 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (32 preceding siblings ...)
  2008-01-23  9:12 ` steven at gcc dot gnu dot org
@ 2008-01-23 10:31 ` rguenth at gcc dot gnu dot org
  2008-07-04 16:48 ` [Bug tree-optimization/19097] [4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-23 10:31 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #49 from rguenth at gcc dot gnu dot org  2008-01-23 09:06 -------
I think it is reasonable to build in limits into passes that do work not
linear (or at least quadratic) in the number of statements, BBs or edges.

The testcase is probably just extracting the core problem from a real-world
testcase (where the situation is probably also not that bad).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug tree-optimization/19097] [4.2/4.3/4.4 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (33 preceding siblings ...)
  2008-01-23 10:31 ` rguenth at gcc dot gnu dot org
@ 2008-07-04 16:48 ` jsm28 at gcc dot gnu dot org
  2009-03-31 16:43 ` [Bug tree-optimization/19097] [4.3/4.4/4.5 " jsm28 at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  37 siblings, 0 replies; 38+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2008-07-04 16:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #50 from jsm28 at gcc dot gnu dot org  2008-07-04 16:47 -------
Closing 4.1 branch.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.1/4.2/4.3/4.4 regression]|[4.2/4.3/4.4 regression]
                   |Quadratic behavior with many|Quadratic behavior with many
                   |sets for the same register  |sets for the same register
                   |in VRP                      |in VRP
   Target Milestone|4.1.3                       |4.2.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug tree-optimization/19097] [4.3/4.4/4.5 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (34 preceding siblings ...)
  2008-07-04 16:48 ` [Bug tree-optimization/19097] [4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
@ 2009-03-31 16:43 ` jsm28 at gcc dot gnu dot org
  2009-08-04 12:28 ` rguenth at gcc dot gnu dot org
  2009-12-24 13:03 ` steven at gcc dot gnu dot org
  37 siblings, 0 replies; 38+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2009-03-31 16:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #51 from jsm28 at gcc dot gnu dot org  2009-03-31 16:42 -------
Closing 4.2 branch.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.2/4.3/4.4/4.5 regression]|[4.3/4.4/4.5 regression]
                   |Quadratic behavior with many|Quadratic behavior with many
                   |sets for the same register  |sets for the same register
                   |in VRP                      |in VRP
   Target Milestone|4.2.5                       |4.3.4


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug tree-optimization/19097] [4.3/4.4/4.5 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (35 preceding siblings ...)
  2009-03-31 16:43 ` [Bug tree-optimization/19097] [4.3/4.4/4.5 " jsm28 at gcc dot gnu dot org
@ 2009-08-04 12:28 ` rguenth at gcc dot gnu dot org
  2009-12-24 13:03 ` steven at gcc dot gnu dot org
  37 siblings, 0 replies; 38+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-08-04 12:28 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #52 from rguenth at gcc dot gnu dot org  2009-08-04 12:26 -------
GCC 4.3.4 is being released, adjusting target milestone.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.3.4                       |4.3.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

* [Bug tree-optimization/19097] [4.3/4.4/4.5 regression] Quadratic behavior with many sets for the same register in VRP
       [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
                   ` (36 preceding siblings ...)
  2009-08-04 12:28 ` rguenth at gcc dot gnu dot org
@ 2009-12-24 13:03 ` steven at gcc dot gnu dot org
  37 siblings, 0 replies; 38+ messages in thread
From: steven at gcc dot gnu dot org @ 2009-12-24 13:03 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #53 from steven at gcc dot gnu dot org  2009-12-24 13:02 -------
I cannot reproduce this anymore on ia64 -- at least not for VRP and CPROP. The
slowest pass is now expand:

 dominator optimization:   0.40 ( 1%) usr   0.00 ( 0%) sys   0.40 ( 1%) wall   
2188 kB ( 3%) ggc
 tree CCP              :   0.17 ( 0%) usr   0.00 ( 0%) sys   0.16 ( 0%) wall   
   0 kB ( 0%) ggc
 tree PHI const/copy prop:   0.02 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall 
     0 kB ( 0%) ggc
 tree split crit edges :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree reassociation    :   0.11 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 0%) wall   
   0 kB ( 0%) ggc
 tree PRE              :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.16 ( 0%) wall   
   1 kB ( 0%) ggc
 tree FRE              :   0.12 ( 0%) usr   0.00 ( 1%) sys   0.12 ( 0%) wall   
   1 kB ( 0%) ggc
 tree code sinking     :   0.08 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
   0 kB ( 0%) ggc
 tree linearize phis   :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
   0 kB ( 0%) ggc
 tree forward propagate:   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 tree conservative DCE :   0.08 ( 0%) usr   0.01 ( 2%) sys   0.10 ( 0%) wall   
   0 kB ( 0%) ggc
 tree aggressive DCE   :   0.28 ( 0%) usr   0.00 ( 1%) sys   0.28 ( 0%) wall   
   3 kB ( 0%) ggc
 tree buildin call DCE :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree DSE              :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 PHI merge             :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 complete unrolling    :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree loop init        :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree copy headers     :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree SSA uncprop      :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree rename SSA copies:   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 tree switch initialization conversion:   0.01 ( 0%) usr   0.00 ( 0%) sys  
0.01 ( 0%) wall       0 kB ( 0%) ggc
 dominance frontiers   :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 dominance computation :   0.62 ( 1%) usr   0.00 ( 1%) sys   0.64 ( 1%) wall   
   0 kB ( 0%) ggc
 control dependences   :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 expand                :   3.13 ( 5%) usr   0.06 ( 7%) sys   3.21 ( 5%) wall  
17093 kB (26%) ggc
 forward prop          :   0.79 ( 1%) usr   0.00 ( 1%) sys   0.79 ( 1%) wall   
 703 kB ( 1%) ggc
 CSE                   :   1.36 ( 2%) usr   0.00 ( 0%) sys   1.36 ( 2%) wall   
   0 kB ( 0%) ggc
 dead code elimination :   0.15 ( 0%) usr   0.00 ( 0%) sys   0.16 ( 0%) wall   
   0 kB ( 0%) ggc
 dead store elim1      :   0.39 ( 1%) usr   0.00 ( 0%) sys   0.39 ( 1%) wall   
 390 kB ( 1%) ggc
 loop analysis         :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 CPROP                 :   1.96 ( 3%) usr   0.18 (23%) sys   2.15 ( 3%) wall   
6094 kB ( 9%) ggc
 PRE                   :   1.26 ( 2%) usr   0.20 (27%) sys   1.46 ( 2%) wall   
   0 kB ( 0%) ggc
 auto inc dec          :   0.19 ( 0%) usr   0.00 ( 0%) sys   0.19 ( 0%) wall   
   0 kB ( 0%) ggc
 CSE 2                 :   1.69 ( 3%) usr   0.00 ( 0%) sys   1.69 ( 3%) wall   
1288 kB ( 2%) ggc
 branch prediction     :   0.22 ( 0%) usr   0.00 ( 0%) sys   0.22 ( 0%) wall   
   0 kB ( 0%) ggc
 combiner              :   0.62 ( 1%) usr   0.00 ( 0%) sys   0.62 ( 1%) wall   
 234 kB ( 0%) ggc
 if-conversion         :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 scheduling            :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 integrated RA         :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
 512 kB ( 1%) ggc
 reload                :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 scheduling 2          :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   8 kB ( 0%) ggc
 tree if-combine       :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 TOTAL                 :  61.41             0.77            62.18             
66790 kB

But this expand slowness also manifests itself at -O0 (IRA and gimplifier
slow), and at -O1 and -O3 (expand). I don't find this unreasnable at all, for
20000 conditionals and 20000 function calls (and all the stack and temp slots
saving/restoring involved). Closing.


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |WORKSFORME


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097


^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2009-12-24 13:03 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
2005-10-16 23:20 ` [Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP steven at gcc dot gnu dot org
2005-10-18  8:36 ` bonzini at gcc dot gnu dot org
2005-10-18 12:25 ` amacleod at redhat dot com
2005-10-29 22:38 ` steven at gcc dot gnu dot org
2005-10-31  2:02 ` mmitchel at gcc dot gnu dot org
2005-10-31 13:33 ` amacleod at redhat dot com
2005-10-31 14:41 ` amacleod at redhat dot com
2005-10-31 15:04 ` dberlin at gcc dot gnu dot org
2005-10-31 15:19 ` amacleod at gcc dot gnu dot org
2005-10-31 17:12 ` steven at gcc dot gnu dot org
2005-11-08  0:18 ` steven at gcc dot gnu dot org
2005-11-08  6:48 ` phython at gcc dot gnu dot org
2006-01-08 16:02 ` [Bug rtl-optimization/19097] [3.4/4.0/4.1/4.2 " steven at gcc dot gnu dot org
2006-01-08 16:08 ` steven at gcc dot gnu dot org
2006-01-08 16:14 ` steven at gcc dot gnu dot org
2006-01-08 18:16 ` steven at gcc dot gnu dot org
2006-01-08 18:32 ` steven at gcc dot gnu dot org
2006-01-08 18:40 ` steven at gcc dot gnu dot org
2006-01-09 22:26 ` [Bug rtl-optimization/19097] [4.1/4.2 regression] Quadratic behavior with many sets for the same register in VRP steven at gcc dot gnu dot org
2006-02-05 21:37 ` steven at gcc dot gnu dot org
2006-02-05 22:47 ` steven at gcc dot gnu dot org
2006-02-24  0:26 ` mmitchel at gcc dot gnu dot org
2006-05-25  2:38 ` mmitchel at gcc dot gnu dot org
2006-08-24 20:50 ` amylaar at gcc dot gnu dot org
2006-10-10 11:19 ` [Bug tree-optimization/19097] " rguenth at gcc dot gnu dot org
2007-02-14  9:04 ` [Bug tree-optimization/19097] [4.1/4.2/4.3 " mmitchel at gcc dot gnu dot org
2007-09-17 13:11 ` rguenth at gcc dot gnu dot org
2007-11-09 22:08 ` steven at gcc dot gnu dot org
2007-11-11  5:17 ` sebpop at gmail dot com
2007-11-11  9:24 ` stevenb dot gcc at gmail dot com
2007-11-11 12:17 ` rguenth at gcc dot gnu dot org
2007-12-18 13:47 ` steven at gcc dot gnu dot org
2008-01-23  9:12 ` steven at gcc dot gnu dot org
2008-01-23 10:31 ` rguenth at gcc dot gnu dot org
2008-07-04 16:48 ` [Bug tree-optimization/19097] [4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
2009-03-31 16:43 ` [Bug tree-optimization/19097] [4.3/4.4/4.5 " jsm28 at gcc dot gnu dot org
2009-08-04 12:28 ` rguenth at gcc dot gnu dot org
2009-12-24 13:03 ` steven at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).