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: PR ipa/59831 (ipa-cp devirt issues)


Hi,

On 02/04/2014 06:43 AM, Jan Hubicka wrote:
Hi,
this patch solves the actual ICE in PR59831 by using ipa-devirt instead of
gimple_extract_devirt_binfo_from_cst as discussed in the first post.

Honza

	PR ipa/59831
	* ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
	to figure out targets of polymorphic calls with known decl.
	* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
	* ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
	* ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
	(get_polymorphic_call_info): ... here.
	(get_polymorphic_call_info_from_invariant): New function.

	* g++.dg/ipa/devirt-22.C: New testcase.
Today I'm seeing regressions in the libstdc++-v3 testsuite in the form of ICEs exactly in ipa_get_indirect_edge_target_1:

FAIL: 27_io/basic_stringbuf/sputbackc/char/9425.cc (test for excess errors)
WARNING: 27_io/basic_stringbuf/sputbackc/char/9425.cc compilation failed to produce executable FAIL: 27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc (test for excess errors) WARNING: 27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc compilation failed to produce executable
FAIL: 27_io/basic_stringbuf/str/char/2.cc (test for excess errors)
WARNING: 27_io/basic_stringbuf/str/char/2.cc compilation failed to produce executable
FAIL: 27_io/basic_stringbuf/str/wchar_t/2.cc (test for excess errors)
WARNING: 27_io/basic_stringbuf/str/wchar_t/2.cc compilation failed to produce executable

Can you please have a look?

Thanks,
Paolo.


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