This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]