[Patch][Review Requested][Compilation Time] Recompute LoopDisposition/BlockDisposition every time

Chandler Carruth chandlerc at google.com
Mon Jan 28 20:01:52 PST 2013


Did you look at using something other than a DenseMap of a std::map to
store the cached disposition? It might be that the problem was too slow of
a cache. In particular, it is almost always better to store a
DenseMap<std::pair<A*, B*>, C> than a DenseMap<A*, AnyOtherMap<B*, C>>....


On Mon, Jan 28, 2013 at 3:41 PM, Gurd, Preston <preston.gurd at intel.com>wrote:

>  This patch aims to improve compile time performance by removing
> getLoopDisposition(), which saves the result of ComputeLoopDisposition(),
> in favour of just recomputing the loop disposition each time it is needed.
> Similarly, remove getBlockDisposition in favour of just recomputing the
> block disposition when needed.****
>
> ** **
>
> Although at first glance one might think that saving the result of
> computing a Loop or Block Disposition to avoid re-computing it later should
> be better than computing the Disposition each time, our benchmark results
> show a net reduction in back end compile time of ~1%. Only one benchmark
> (xcsoar) slowed slightly.****
>
> ** **
>
> Patch by Wan Xiaofei.****
>
> ** **
>
> PLEASE REVIEW. Thanks!****
>
> ** **
>
> Preston****
>
> ** **
>
> ** **
>
> --****
>
> Preston Gurd <preston.gurd at intel.com>****
>
>   Intel Waterloo****
>
>   SSG/DPD/ECDL/DMP****
>
> ** **
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130128/b1112689/attachment.html>


More information about the llvm-commits mailing list