Douglas Gregor wrote:
> Author: dgregor
> Date: Mon Jan 26 16:44:13 2009
> New Revision: 63061
>
> URL: http://llvm.org/viewvc/llvm-project?rev=63061&view=rev
> Log:
> Some micro-optimizations for DISABLE_SMART_POINTERS:
>   - When it's safe, ActionResult uses the low bit of the pointer for
>   the "invalid" flag rather than a separate "bool" value. This keeps
>   GCC from generating some truly awful code, for a > 3x speedup in the
>   result-passing microbenchmark.
>   
Such an optimization should be possible for ASTOwningResult as well,
even though it has to embed the bit in ASTOwningPtr's pointer. Perhaps I
should just do that, and then remove the distinction between the two; it
causes nothing but trouble anyway.

Sebastian
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to