> > Heh, we need a calling convention checker in > gimple_builtin_call_types_compatible_p and friends!
Yep, i will try to play with this. So far I did not managed to create a testcase that would expose a wrong code in ICF. > > Btw, with the TYPE_CANONICAL changes I wonder whether we can make > gimple_get_alias_set (the LTO get_alias_set langhook) just glob > to TYPE_CANONICAL? At the moment we only glob signed and unsigned for char and size_t, not for other types. For me the TYPE_CANONICAL globing is for the cases that propagate up (i.e. structures containing the different types are compatible) and gimple_get_alias_set for cases that doesn't (like the signed/unsigned C thing) Honza > > Richard. > > > Honza > > > > > > Thanks, > > > Richard. > > > > > > > + return useless_type_conversion_p (TREE_TYPE (outer_type), > > > > + TREE_TYPE (inner_type)) > > > > + && useless_type_conversion_p > > > > + (TYPE_OFFSET_BASETYPE (outer_type), > > > > + TYPE_OFFSET_BASETYPE (inner_type)); > > > > > > > > return false; > > > > } > > > > > > -- > Richard Biener <rguent...@suse.de> > SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB > 21284 (AG Nuernberg)