This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [WPA PATCH 2/5] Enhanced jump functions
>
> Yes, the ancestral function is there for C++ classes. Unfortunately I
> organized my work wrong way round and this was the last part I wrote
> and wanted to do quickly something simple and so I do not know what we
> would gain if we had even more complex polynomial functions. I plan
> to find out but no sooner than September. Ditto for operations with
> the incoming parameter as the second argument and unary operations.
Hmm, I guess we can easilly generalize it later and I can't think of
common case where this would make a lot of sense either. So it seems
fine.
>
> >
> > You handle NOP_EXPRs and CONVERT_EXPRs too, right?
> >
>
> I don't think I can encounter a NOP_EXPR this late. I don't handle
> CONVERT_EXPRs in any special way so I would guess that no, I probably
> don't.
Hmm, don't we have NOP_EXPR for simple stuff like int->short conversion?
>
> I'll try to add a testcase or two overnight. I am currently about to
> bootstrap and test the patch below (just this one and the one making
> build_ref_for_offset public, of course). OK for trunk with them if it
> passes both?
>
> Thanks,
>
> Martin
>
>
> 2009-08-06 Martin Jambor <mjambor@suse.cz>
>
> * ipa-prop.h (enum jump_func_type): New value IPA_JF_ANCESTOR, changed
> comments.
> (struct ipa_pass_through_data): New type.
> (struct ipa_ancestor_jf_data): New type.
> (union jump_func_value): Removed field formal_id, added fields
> pass_through and ancestor.
> (struct ipa_param_call_note): Changed type of formal_id to int from
> unsigned.
> * ipa-prop.c (ipa_print_node_jump_functions): Print pass through with
> operations jump functions and ancestor jump functions.
> (compute_complex_pass_through): New function.
> (compute_scalar_jump_functions): Call compute_complex_pass_through,
> reflect changes in the jump function strucutre.
> (update_jump_functions_after_inlining): Ignore complex pass-through
> and ancestor jump functions.
> * ipa-cp.c (ipcp_lattice_from_jfunc): Added support for ancestor and
> polynomial pass-through with operation jump functions.
OK.
Honza