On Mon, 17 Sep 2012, Diego Novillo wrote:

> On 2012-09-17 09:25 , Richard Guenther wrote:
> > 
> > This makes use of the new builtin functions for FILE, LINE and FUNCTION
> > to turn gimple_build_assign_with_ops/gimple_build_assign_with_ops3 into
> > two overloads of gimple_build_assign_with_ops (in theory the _stats
> > function can go and we could move the inlines to gimple.c instead,
> > eventually removing the assert and simply calling the 3-op overload
> > from the 2-op overload?)
> 
> Sounds like a good next step, yes.
> 
> > The patch merely serves as an example on how to transform mem-stat
> > code to non-macros.
> > 
> > Quickly build-tested with --disable-gather-detailed-mem-stats,
> > stage1 with --enable-gather-detailed-mem-stats and host GCC 4.6
> > prints
> > 
> > gimple.h:766 ((null))                                         112: 0.0%
> > 0: 0.0%          0: 0.0%          0: 0.0%
> > 
> > for a former gimple_build_assign_with_ops3 call, stage2 (or stage1
> > with a GCC 4.8 host compiler) prints
> > 
> > tree-ssa-math-opts.c:2610 (convert_mult_to_fma)         112: 0.0%
> > 0: 0.0%          0: 0.0%          0: 0.0%          1
> > 
> > so it effectively cripples -fmem-report when not compiled with
> > a compiler supporting the builtins.
> 
> But for a bootstrapped 4.8+ compiler, this won't matter, right?  It's only
> when using a host compiler that doesn't support the builtins.

Yes.  Though as it's mostly used for development in which case
non-bootstrapped compilers are used it makes 
--enable-gather-detailed-mem-stats less useful unless you know of
this fact.  It will also actively break installed pre-release 4.8
compilers used as host compilers ...

> > Any comments/objections?
> 
> Looks good to me.  Thanks.

Thanks, currently bootstrapping / reg-testing on x86_64-unknown-linux-gnu,
I'll apply it tomorrow.

Richard.

Reply via email to