Re: Help with IA64 profiling bug - g++.dg/tree-prof/indir-call-prof.C

2008-10-09 Thread Andreas Schwab
Steve Ellcey <[EMAIL PROTECTED]> writes: > Does that mean you have a patch? I've added it to PR 32277. Andreas. -- Andreas Schwab, SuSE Labs, [EMAIL PROTECTED] SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276

Re: Help with IA64 profiling bug - g++.dg/tree-prof/indir-call-prof.C

2008-10-08 Thread Steve Ellcey
On Thu, 2008-10-09 at 00:27 +0200, Andreas Schwab wrote: > I don't see that problem here. The variable is set at the right places, > except that it is set to the address of the vtable descriptor, which is > different to the normal descriptor. When I modify > __gcov_indirect_call_profiler to com

Re: Help with IA64 profiling bug - g++.dg/tree-prof/indir-call-prof.C

2008-10-08 Thread Andreas Schwab
Steve Ellcey <[EMAIL PROTECTED]> writes: > There seems to be more then just a missing level of dereferencing going > on. For example, I think that the program, when compiled with > -fprofile-generate, should be putting an address into > __gcov_indirect_call_callee before calling __gcov_indirect_c

Re: Help with IA64 profiling bug - g++.dg/tree-prof/indir-call-prof.C

2008-10-08 Thread Steve Ellcey
On Tue, 2008-10-07 at 17:55 +0200, Andreas Schwab wrote: > > I think to make that work tree_gen_ic_profiler and > tree_gen_ic_func_profiler would have to dereference the function > descriptor to extract the code address, which would then have the > necessary uniqueness which the vtable function d

Re: Help with IA64 profiling bug - g++.dg/tree-prof/indir-call-prof.C

2008-10-07 Thread Andreas Schwab
Steve Ellcey <[EMAIL PROTECTED]> writes: > This is about as far as I have gotten. I am not sure why there is this > difference or how to fix it. I *think* it may be related to the fact > that IA64 GCC defines TARGET_VTABLE_USES_DESCRIPTORS but my only reason > for thinking that is that IA64 is t

Re: Help with IA64 profiling bug - g++.dg/tree-prof/indir-call-prof.C

2008-10-07 Thread Andreas Schwab
Steve Ellcey <[EMAIL PROTECTED]> writes: > Comparing x86 (where things work) and IA64 (where they do not), I see > the test case, when compiled with -fprofile-generate, has calls > __gcov_indirect_call_profiler in both cases. But on IA64, cur_func is > never equal to callee_func That's because c

Re: Help with IA64 profiling bug - g++.dg/tree-prof/indir-call-prof.C

2008-10-07 Thread Richard Guenther
On Tue, Oct 7, 2008 at 1:18 AM, Steve Ellcey <[EMAIL PROTECTED]> wrote: > I have been looking at why g++.dg/tree-prof/indir-call-prof.C fails on > IA64 (HP-UX and Linux). It looks like the optimization (turning an > indirect call into a direct call) does not happen because the initial > run with -

Help with IA64 profiling bug - g++.dg/tree-prof/indir-call-prof.C

2008-10-06 Thread Steve Ellcey
I have been looking at why g++.dg/tree-prof/indir-call-prof.C fails on IA64 (HP-UX and Linux). It looks like the optimization (turning an indirect call into a direct call) does not happen because the initial run with -fprofile-generate is not generating any count data about indirect calls. Compa