On 11/13/20 6:50 PM, Jan Hubicka wrote:
Bootstrapped/regtested x86_64-linux. I plan to commit it on monday if there are
no complains.

Hello Honza.

Thank you very much for the patch set.
It's a nice improvement and it will eventually fix the WPA slowness caused by 
IPA ICF.

I made some measurements for master before a first patch and this patch (3/4) 
on godot
game engine:

BEFORE:

Equal symbols: 15690
Totally needed symbols: 17913, fraction of loaded symbols: 39.05%

2156989   false returned: '' in equals_private at 
/home/marxin/Programming/gcc2/gcc/ipa-icf.c:879
1099887   false returned: 'operand_equal_p failed' in compare_operand at 
/home/marxin/Programming/gcc2/gcc/ipa-icf-gimple.c:307
1048605   false returned: 'types are not compatible' in compatible_types_p at 
/home/marxin/Programming/gcc2/gcc/ipa-icf-gimple.c:210
1047679   false returned: 'GIMPLE assignment operands are different' in 
compare_gimple_assign at /home/marxin/Programming/gcc2/gcc/ipa-icf-gimple.c:632
1047517   false returned: 'GIMPLE NOP LHS type mismatch' in 
compare_gimple_assign at /home/marxin/Programming/gcc2/gcc/ipa-icf-gimple.c:628
  57659   false returned: 'call function types are not compatible' in 
compare_gimple_call at /home/marxin/Programming/gcc2/gcc/ipa-icf-gimple.c:573
  52088   false returned: 'PHI node comparison returns false' in equals_private 
at /home/marxin/Programming/gcc2/gcc/ipa-icf.c:914
  52088   false returned: '' in compare_phi_node at 
/home/marxin/Programming/gcc2/gcc/ipa-icf.c:1552
  13565   false returned: 'decl_or_type flags are different' in equals_wpa at 
/home/marxin/Programming/gcc2/gcc/ipa-icf.c:567
   9919   false returned: 'result types are different' in equals_wpa at 
/home/marxin/Programming/gcc2/gcc/ipa-icf.c:616

Time variable                                   usr           sys          wall 
          GGC
 ipa icf                            :   4.31 (  7%)   0.06 (  2%)   4.38 (  7%) 
 6008k (  0%)
 TOTAL                              :  57.57          3.49         61.11        
 4830M

AFTER:

Equal symbols: 17019
Totally needed symbols: 19875, fraction of loaded symbols: 70.88%

 377327   false returned: '' in equals_private at 
/home/marxin/Programming/gcc2/gcc/ipa-icf.c:886
 213086   false returned: 'operand_equal_p failed' in compare_operand at 
/home/marxin/Programming/gcc2/gcc/ipa-icf-gimple.c:356
 212179   false returned: 'compare_ao_refs failed (access path difference)' in 
compare_operand at /home/marxin/Programming/gcc2/gcc/ipa-icf-gimple.c:345
 159947   false returned: '' in compare_gimple_call at 
/home/marxin/Programming/gcc2/gcc/ipa-icf-gimple.c:607
 147098   false returned: 'GIMPLE assignment operands are different' in 
compare_gimple_assign at /home/marxin/Programming/gcc2/gcc/ipa-icf-gimple.c:699
  66123   false returned: 'GIMPLE call operands are different' in 
compare_gimple_call at /home/marxin/Programming/gcc2/gcc/ipa-icf-gimple.c:656
  52088   false returned: 'PHI node comparison returns false' in equals_private 
at /home/marxin/Programming/gcc2/gcc/ipa-icf.c:921
  52088   false returned: '' in compare_phi_node at 
/home/marxin/Programming/gcc2/gcc/ipa-icf.c:1580
  12643   false returned: 'decl_or_type flags are different' in equals_wpa at 
/home/marxin/Programming/gcc2/gcc/ipa-icf.c:572
   6318   false returned: 'different tree types' in compatible_types_p at 
/home/marxin/Programming/gcc2/gcc/ipa-icf-gimple.c:206

Time variable                                   usr           sys          wall 
          GGC
 ipa icf                            :   3.40 (  6%)   0.09 (  3%)   3.49 (  6%) 
   27M (  1%)
 TOTAL                              :  56.60          2.94         59.58        
 4478M

and I'm also sending usage-wrapper graphs.

Martin

Attachment: godot-files.tar.zst
Description: application/zstd

Reply via email to