[PATCH] D27722: [GVNHoist] Move GVNHoist to function simplification part of pipeline.

Geoff Berry via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 14 10:37:47 PST 2016


gberry added inline comments.


================
Comment at: lib/Transforms/IPO/PassManagerBuilder.cpp:253
-  if(EnableGVNHoist)
-    FPM.add(createGVNHoistPass());
   FPM.add(createLowerExpectIntrinsicPass());
----------------
sebpop wrote:
> Could you please try to see the perf of keeping the hoist pass here and adding an extra one below inline as you did? 
I tried this and the results were very few tests changed, and small net change (positive for one suite, negative for another), leading me to believe that running GVNHoist twice isn't worth the extra compile time.  Below are the percent differences in run time between later GVNHoist (this patch) and both early and later GVNHoist.

`TSVC/InductionVariable-flt  -5.168%
spec2000/crafty             -1.722%
spec2006/mcf                +1.130%
Applications/sqlite3        +1.322%
TSVC/ControlFlow-dbl        +3.578%`



https://reviews.llvm.org/D27722





More information about the llvm-commits mailing list