[PATCH] D98481: [Inliner] Do not inline mutual-recursive functions to avoid exponential size growth.

Hongtao Yu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 15 21:38:37 PDT 2021


hoy added a comment.

I got some numbers for SPEC2017 with AutoFDO + LTO. Timing wise no noticeable difference but there is difference in code size for some benchmarks which indicates less inlining with this patch. The difference is pretty big for `perlbench_s` I guess we don't see perf gap because recursive those functions are run a lot more times than the inlined times.

  	             After/Before (Code Size)
     508.namd_r    	100.00%
     510.parest_r  	100.00%
     511.povray_r  	97.89%
     600.perlbench_s	89.68%
     602.gcc_s     	98.79%
     605.mcf_s     	100.00%
     620.omnetpp_s 	100.00%
     623.xalancbmk_s	99.91%
     625.x264_s    	100.00%
     631.deepsjeng_s	100.00%
     638.imagick_s 	99.55%
     641.leela_s   	100.00%
     644.nab_s     	100.00%
     657.xz_s      	100.00%


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D98481/new/

https://reviews.llvm.org/D98481



More information about the llvm-commits mailing list