[PATCH] analysis of global statics and removal associated vdefs and vuses

Diego Novillo dnovillo@redhat.com
Fri Aug 27 16:49:00 GMT 2004


On Fri, 2004-08-27 at 12:27, Diego Novillo wrote:

> There is a slight reduction in the number of virtual operands on
> cc1-i-files (2,816 fewer virtual operands or about 0.1%).
> 
Forgot to attach the time logs. 


Diego.
-------------- next part --------------
Phase                     	Before	After	% change
 callgraph construction       	 0.77	 0.89	  15.6%
 cfg construction             	 0.11	 0.13	  18.2%
 cfg cleanup                  	 1.68	 1.89	  12.5%
 trivially dead code          	 1.04	 1.25	  20.2%
 life analysis                	 2.47	 2.67	   8.1%
 life info update             	 1.68	 1.83	   8.9%
 alias analysis               	 1.89	 1.85	  -2.1%
 register scan                	 0.93	 1.11	  19.4%
 rebuild jump labels          	 0.29	 0.27	  -6.9%
 preprocessing                	 1.76	 2.13	  21.0%
 lexical analysis             	 0.00	 0.00	-100.0%
 parser                       	28.69	32.60	  13.6%
 name lookup                  	 7.60	 8.35	   9.9%
 integration                  	 8.82	 9.75	  10.5%
 tree gimplify                	 4.40	 5.02	  14.1%
 tree eh                      	 0.76	 0.85	  11.8%
 tree CFG construction        	 0.80	 0.84	   5.0%
 tree CFG cleanup             	 1.87	 1.67	 -10.7%
 tree copy propagation        	 0.00	 0.00	-100.0%
 tree PTA                     	 1.44	 1.55	   7.6%
 tree alias analysis          	 2.70	 2.97	  10.0%
 tree PHI insertion           	 4.83	 5.43	  12.4%
 tree SSA rewrite             	 7.73	 9.09	  17.6%
 tree SSA other               	10.01	10.96	   9.5%
 tree operand scan            	 3.95	 4.93	  24.8%
 dominator optimization       	13.23	14.08	   6.4%
 tree SRA                     	 0.89	 0.90	   1.1%
 tree CCP                     	 2.41	 2.37	  -1.7%
 tree split crit edges        	 0.33	 0.29	 -12.1%
 tree PRE                     	 2.68	 3.13	  16.8%
 tree remove casts            	 0.00	 0.00	-100.0%
 tree forward propagate       	 0.92	 1.07	  16.3%
 tree conservative DCE        	 1.99	 2.38	  19.6%
 tree aggressive DCE          	 1.24	 1.33	   7.3%
 tree loop optimization       	 0.00	 0.00	-100.0%
 tree SSA to normal           	 2.14	 2.24	   4.7%
 tree SSA verifier            	 0.00	 0.00	-100.0%
 tree STMT verifier           	 0.00	 0.00	-100.0%
 CFG verifier                 	 0.00	 0.00	-100.0%
 callgraph verifier           	 0.00	 0.00	-100.0%
 dominance frontiers          	 0.31	 0.30	  -3.2%
 control dependences          	 0.06	 0.08	  33.3%
 overload resolution          	 0.00	 0.00	-100.0%
 template instantiation       	 0.00	 0.00	-100.0%
 expand                       	30.41	39.70	  30.5%
 varconst                     	 0.95	 1.24	  30.5%
 jump                         	 0.21	 0.34	  61.9%
 CSE                          	 6.08	 6.45	   6.1%
 global CSE                   	 0.13	 0.09	 -30.8%
 loop analysis                	 1.03	 1.02	  -1.0%
 bypass jumps                 	 0.72	 0.71	  -1.4%
 tracer                       	 0.00	 0.00	-100.0%
 web                          	 0.77	 0.73	  -5.2%
 CSE 2                        	 2.85	 2.93	   2.8%
 branch prediction            	 0.90	 0.97	   7.8%
 value profile opts           	 0.00	 0.00	-100.0%
 flow analysis                	 0.07	 0.09	  28.6%
 combiner                     	 2.49	 2.77	  11.2%
 if-conversion                	 0.36	 0.38	   5.6%
 regmove                      	 0.70	 0.76	   8.6%
 mode switching               	 0.01	 0.00	-100.0%
 scheduling                   	 0.00	 0.00	-100.0%
 local alloc                  	 2.07	 1.94	  -6.3%
 global alloc                 	 3.52	 4.12	  17.0%
 reload CSE regs              	 1.79	 1.73	  -3.4%
 flow 2                       	 0.30	 0.40	  33.3%
 if-conversion 2              	 0.21	 0.12	 -42.9%
 peephole 2                   	 0.26	 0.24	  -7.7%
 rename registers             	 0.51	 0.64	  25.5%
 scheduling 2                 	 2.23	 2.57	  15.2%
 machine dep reorg            	 0.47	 0.51	   8.5%
 delay branch sched           	 0.00	 0.00	-100.0%
 reorder blocks               	 0.22	 0.25	  13.6%
 shorten branches             	 0.25	 0.40	  60.0%
 reg stack                    	 0.00	 0.02	1999900.0%
 final                        	 0.85	 0.92	   8.2%
 symout                       	 0.06	 0.05	 -16.7%
 rest of compilation          	 0.66	 0.63	  -4.5%
^ tree |^ dominator           	69.46	76.56	  10.2%
^ TOTAL                       	201.67	228.72	  13.4%
-------------- next part --------------
Phase                     	Before	After	% change
 callgraph construction       	 6.05	 6.30	   4.1%
 cfg construction             	 0.81	 0.84	   3.7%
 cfg cleanup                  	12.81	13.25	   3.4%
 trivially dead code          	 7.14	 7.57	   6.0%
 life analysis                	17.12	17.57	   2.6%
 life info update             	13.53	13.42	  -0.8%
 alias analysis               	 8.69	 8.91	   2.5%
 register scan                	 5.01	 5.92	  18.2%
 rebuild jump labels          	 1.34	 1.16	 -13.4%
 preprocessing                	18.62	19.43	   4.4%
 lexical analysis             	 9.99	11.49	  15.0%
 parser                       	60.82	61.56	   1.2%
 name lookup                  	 8.31	 8.71	   4.8%
 integration                  	 3.12	 3.26	   4.5%
 tree gimplify                	12.83	13.12	   2.3%
 tree eh                      	 0.46	 0.53	  15.2%
 tree CFG construction        	 1.73	 1.46	 -15.6%
 tree CFG cleanup             	 9.26	 8.34	  -9.9%
 tree copy propagation        	 0.00	 0.00	-100.0%
 tree PTA                     	 2.66	 2.96	  11.3%
 tree alias analysis          	 2.02	 2.12	   5.0%
 tree PHI insertion           	 3.14	 3.12	  -0.6%
 tree SSA rewrite             	 7.87	 7.81	  -0.8%
 tree SSA other               	13.11	13.50	   3.0%
 tree operand scan            	 8.03	 8.99	  12.0%
 dominator optimization       	37.43	36.68	  -2.0%
 tree SRA                     	 0.40	 0.25	 -37.5%
 tree CCP                     	 2.73	 2.66	  -2.6%
 tree split crit edges        	 2.99	 2.42	 -19.1%
 tree PRE                     	 7.26	 6.75	  -7.0%
 tree remove casts            	 0.00	 0.00	-100.0%
 tree forward propagate       	 1.58	 1.56	  -1.3%
 tree conservative DCE        	 3.50	 3.46	  -1.1%
 tree aggressive DCE          	 1.91	 1.79	  -6.3%
 tree loop optimization       	 0.00	 0.01	999900.0%
 tree SSA to normal           	 7.75	 6.98	  -9.9%
 tree SSA verifier            	 0.00	 0.00	-100.0%
 tree STMT verifier           	 0.00	 0.00	-100.0%
 CFG verifier                 	 0.00	 0.00	-100.0%
 callgraph verifier           	 0.00	 0.00	-100.0%
 dominance frontiers          	 1.08	 0.90	 -16.7%
 control dependences          	 0.36	 0.45	  25.0%
 overload resolution          	 0.00	 0.00	-100.0%
 template instantiation       	 0.00	 0.00	-100.0%
 expand                       	45.92	47.88	   4.3%
 varconst                     	 0.61	 0.88	  44.3%
 jump                         	 1.47	 1.17	 -20.4%
 CSE                          	49.80	53.48	   7.4%
 global CSE                   	 0.72	 0.68	  -5.6%
 loop analysis                	 4.72	 4.57	  -3.2%
 bypass jumps                 	 7.30	 6.56	 -10.1%
 tracer                       	 0.00	 0.00	-100.0%
 web                          	11.11	10.33	  -7.0%
 CSE 2                        	32.56	34.50	   6.0%
 branch prediction            	 5.20	 5.03	  -3.3%
 value profile opts           	 0.00	 0.00	-100.0%
 flow analysis                	 0.91	 0.99	   8.8%
 combiner                     	18.72	20.01	   6.9%
 if-conversion                	 5.55	 5.20	  -6.3%
 regmove                      	 3.96	 4.04	   2.0%
 mode switching               	 0.03	 0.04	  33.3%
 scheduling                   	 0.00	 0.00	-100.0%
 local alloc                  	13.37	13.84	   3.5%
 global alloc                 	19.89	20.81	   4.6%
 reload CSE regs              	13.53	13.02	  -3.8%
 flow 2                       	 2.56	 2.99	  16.8%
 if-conversion 2              	 2.24	 2.78	  24.1%
 peephole 2                   	 2.00	 2.15	   7.5%
 rename registers             	 3.69	 3.70	   0.3%
 scheduling 2                 	14.96	15.26	   2.0%
 machine dep reorg            	 3.01	 3.12	   3.7%
 delay branch sched           	 0.00	 0.00	-100.0%
 reorder blocks               	 2.48	 2.25	  -9.3%
 shorten branches             	 2.05	 2.11	   2.9%
 reg stack                    	 0.01	 0.01	   0.0%
 final                        	 5.95	 6.13	   3.0%
 symout                       	 0.76	 0.54	 -28.9%
 rest of compilation          	 3.21	 3.06	  -4.7%
^ tree |^ dominator           	132.67	130.60	  -1.6%
^ TOTAL                       	639.88	652.66	   2.0%


More information about the Gcc-patches mailing list