On Tue, Oct 19, 2021 at 01:08:30PM +0530, Siddhesh Poyarekar wrote:
> Compute the unknown size value as a function of the min/max bit of
> object_size_type.  This transforms into a neat little branchless
> sequence on x86_64:
> 
>       movl    %edi, %eax
>       sarl    %eax
>       xorl    $1, %eax
>       negl    %eax
>       cltq
> 
> which should be faster than loading the value from memory.  A quick
> unscientific test using
> 
> `time make check-gcc RUNTESTFLAGS="dg.exp=builtin*"`
> 
> shaves about half a second off execution time with this.  Also simplify
> implementation of unknown_object_size.
> 
> gcc/ChangeLog:
> 
>       * tree-object-size.c (unknown): Make into a function.  Adjust
>       all uses.
>       (unknown_object_size): Simplify implementation.
> 
> Signed-off-by: Siddhesh Poyarekar <siddh...@gotplt.org>

Ok for trunk if it passes bootstrap/regtest.

        Jakub

Reply via email to