Re: [PATCH, PR 61540] Do not ICE on impossible devirtualization

2014-06-25 Thread Martin Jambor
Hi, On Mon, Jun 23, 2014 at 01:38:03PM +0100, James Greenhalgh wrote: On Thu, Jun 19, 2014 at 12:49:55PM +0100, Martin Jambor wrote: Hi, On Wed, Jun 18, 2014 at 06:12:34PM +0200, Bernhard Reutner-Fischer wrote: On 18 June 2014 10:24:16 Martin Jambor mjam...@suse.cz wrote: @@

Re: [PATCH, PR 61540] Do not ICE on impossible devirtualization

2014-06-23 Thread James Greenhalgh
On Thu, Jun 19, 2014 at 12:49:55PM +0100, Martin Jambor wrote: Hi, On Wed, Jun 18, 2014 at 06:12:34PM +0200, Bernhard Reutner-Fischer wrote: On 18 June 2014 10:24:16 Martin Jambor mjam...@suse.cz wrote: @@ -3002,10 +3014,8 @@ try_make_edge_direct_virtual_call (struct cgraph_edge *ie,

Re: [PATCH, PR 61540] Do not ICE on impossible devirtualization

2014-06-19 Thread Martin Jambor
Hi, On Wed, Jun 18, 2014 at 06:12:34PM +0200, Bernhard Reutner-Fischer wrote: On 18 June 2014 10:24:16 Martin Jambor mjam...@suse.cz wrote: @@ -3002,10 +3014,8 @@ try_make_edge_direct_virtual_call (struct cgraph_edge *ie, if (target) { -#ifdef ENABLE_CHECKING - gcc_assert

Re: [PATCH, PR 61540] Do not ICE on impossible devirtualization

2014-06-19 Thread Jan Hubicka
Hi, On Wed, Jun 18, 2014 at 06:12:34PM +0200, Bernhard Reutner-Fischer wrote: On 18 June 2014 10:24:16 Martin Jambor mjam...@suse.cz wrote: @@ -3002,10 +3014,8 @@ try_make_edge_direct_virtual_call (struct cgraph_edge *ie, if (target) { -#ifdef ENABLE_CHECKING -

[PATCH, PR 61540] Do not ICE on impossible devirtualization

2014-06-18 Thread Martin Jambor
Hi, I was quite surprised we still had an assert checking that the target of a virtual call derived by ipa-cp is among possible ones derived by ipa-devirt. This is not true for various down-casts and I managed to trigger it in PR 61540 (where the testcase purposefully invokes undefined behavior

Re: [PATCH, PR 61540] Do not ICE on impossible devirtualization

2014-06-18 Thread Bernhard Reutner-Fischer
On 18 June 2014 10:24:16 Martin Jambor mjam...@suse.cz wrote: @@ -3002,10 +3014,8 @@ try_make_edge_direct_virtual_call (struct cgraph_edge *ie, if (target) { -#ifdef ENABLE_CHECKING - gcc_assert (possible_polymorphic_call_target_p -(ie, cgraph_get_node (target))); -#endif