[PATCH] D32624: Memory intrinsic value profile optimization: Avoid divide by 0

Teresa Johnson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 27 17:39:05 PDT 2017


tejohnson added inline comments.


================
Comment at: lib/Transforms/Instrumentation/IndirectCallPromotion.cpp:877
+  // scale up the counts properly (and there is no profitable transformation).
+  if (TotalCount == 0)
+    return false;
----------------
davidxl wrote:
> Or change it to 
> 
> if (TotalCount < MemOpCountThreshold)
>  return false; 
> 
> and move this check before the actual count check.
I could move this up, but note that the counts will be scaled up by ActualCount/SavedTotalCount (where SavedTotalCount == TotalCount at this point). So it is possible for TotalCount < MemOpCountThreshold but not ActualCount, and not the scaled counts. So that check seems overly conservative (and will have an effect other than just preventing 0 divides). 


https://reviews.llvm.org/D32624





More information about the llvm-commits mailing list