On Jan 27, 2009, at 2:19 AM, Sebastian Redl wrote:

> 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.

Sure, that'd clean things up nicely. Thanks!

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

Reply via email to