This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]