On Thu, 8 Oct 2015, Jan Hubicka wrote: > > > > && TREE_CODE (outer_type) == OFFSET_TYPE > > > > Ok with those changes. > > Thank you! I commited the patch. > At a hike today it appeared to me that for ipa-icf and other calling > convetions > checks we should not rely on useless_type_conversion_p because there may be > types that are compatible in gimple type system but have different calling > conventions. I will hack calling convention comparer tomorrow - should not be > too hard, just doing the cumulative walk and comparing that the RTL containers > are the same.
I think the patch caused a bootstrap failure on x86_64-linux with Ada. We're having an aggregate copy SImode = BLKmode and end up with BLKmode from int_mode_for_mode (BLKmode) which later ICEs (obviously) in gen_lowpart. obj/gcc/ada/rts> /abuild/rguenther/obj/./gcc/xgcc -B/abuild/rguenther/obj/./gcc/ -B/usr/local/x86_64-pc-linux-gnu/bin/ -B/usr/local/x86_64-pc-linux-gnu/lib/ -isystem /usr/local/x86_64-pc-linux-gnu/include -isystem /usr/local/x86_64-pc-linux-gnu/sys-include -c -g -O2 -fpic -W -Wall -gnatpg -nostdinc s-regpat.adb -o s-regpat.o +===========================GNAT BUG DETECTED==============================+ | 6.0.0 20151008 (experimental) (x86_64-pc-linux-gnu) GCC error: | | in gen_lowpart_common, at emit-rtl.c:1399 | | Error detected around s-regpat.adb:1029:22 | | Please submit a bug report; see http://gcc.gnu.org/bugs.html. | | Use a subject line meaningful to you and us to track the bug. | | Include the entire contents of this bug box in the report. | | Include the exact command that you entered. | | Also include sources listed below. | +==========================================================================+ 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)