[CHKP] Never expand instrumentation thunks
Ilya Enkovich
enkovich.gnu@gmail.com
Fri Apr 3 08:58:00 GMT 2015
2015-04-03 0:13 GMT+03:00 Jan Hubicka <hubicka@ucw.cz>:
>> On 04/02/2015 02:11 PM, Jan Hubicka wrote:
>> >>>2015-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
>> >>>
>> >>> * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
>> >>> instrumentation thunks.
>> >>>
>> >>>
>> >>>diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
>> >>>index e640907..abc9cfe 100644
>> >>>--- a/gcc/cgraphunit.c
>> >>>+++ b/gcc/cgraphunit.c
>> >>>@@ -1508,6 +1508,10 @@ cgraph_node::expand_thunk (bool output_asm_thunks, bool force_gimple_thunk)
>> >>> tree thunk_fndecl = decl;
>> >>> tree a;
>> >>>
>> >>>+ /* Instrumentation thunk is the same function with
>> >>>+ a different signature. Never need to expand it. */
>> >>>+ if (thunk.add_pointer_bounds_args)
>> >>>+ return false;
>> >
>> >Yeah, this is another case where we hit problem with transparent alias pretending
>> >to be thunk :)
>> >I guess the patch is OK for GCC-5 and for next stage1 we can clean this up.
>> I was actually building a compiler so I could take a look at this
>> one under a debugger ;-)
>
> I think it is really the transparent alias issue. The comment seems pretty clear about it.
> What is confusing is that instrumentation thunks are called thunks when they are
> really not - thunk is a small hunk of code, while instrumentation thunk is a transparent
> alias.
>
> Too bad I did not notice we introduced transparent aliases, i would push out my
> code for that. I will compare Ilya's changes with mine and hopefully we can
> catch more bugs and unify the code next stage1.
Thunk was the best I could find to represent the same function but
with different signature. It would be great to have a more specialized
way for that.
Thanks,
Ilya
>
> Honza
More information about the Gcc-patches
mailing list