Go for it. :)

On Tue, Oct 7, 2014 at 10:03 AM, Arnaud A. de Grandmaison <
[email protected]> wrote:

> [Sorry for the cross-posting, but this future change in clang can affect
> llvm optimization passes]
>
>
>
> Language frontends can insert lifetime.start / lifetime.end markers for
> objects allocated on the stack, providing the optimization passes in LLVM
> with lifetime information so that they can share stack slots and reduce
> stack usage of the generated code. Today, those lifetime markers are only
> inserted for objects > 32 bytes. This threshold was set to prevent
>  impacting compile time. Lifetime markers have been in use for a long time
> now, and some passes got fixed to deal gracefully with them.
>
>
>
> I intend to commit soon a patch removing this threshold, unless someone
> objects or raise concerns. Removing the threshold can only improve stack
> size usage of the generated code, but there is a risk that some specific
> code base trigger some corner case bugs, thus this heads-up.
>
>
>
> I checked that compile time was not impacted by building llvm+clang+lldb
> with a clang with various thresholds, and here are the results (user time
> in seconds for a build from scratch, averaged over 5 builds). Note that the
> reported  threshold is inclusive: 33 (the current threshold) means all
> object whose size >= 33 bytes will be marked for example.
>
>
>
> Threshold
>
> Average
>
> Variance
>
> 33
>
> 4652.67
>
> 4.51
>
> 32
>
> 4677.02
>
> 2.71
>
> 16
>
> 4681.50
>
> 11.06
>
> 8
>
> 4660.23
>
> 12.47
>
> 0
>
> 4667.47
>
> 8.63
>
>
>
> There are some minor fluctuations that I cannot explain, but we just have
> no compromise to make there: always insert the lifetime markers .
>
>
>
> Thanks for your attention,
>
> --
>
> Arnaud A. de Grandmaison
>
>
>
> _______________________________________________
> cfe-commits mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
>
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to