Re: Fix ICE when inlining into function containing polymorphic call

2019-11-14 Thread Martin Jambor
On Thu, Nov 14 2019, Jan Hubicka wrote: >> On Wed, Nov 13 2019, Jan Hubicka wrote: >> > Hi, >> > the testcase causes inline context cache to go out of sync because I >> > forgot to update used flags of parameters in one path of >> > update_indirect_edges_after_inlining. >> > >> > While debugging it

Re: Fix ICE when inlining into function containing polymorphic call

2019-11-14 Thread Jan Hubicka
> Hi, > > On Wed, Nov 13 2019, Jan Hubicka wrote: > > Hi, > > the testcase causes inline context cache to go out of sync because I > > forgot to update used flags of parameters in one path of > > update_indirect_edges_after_inlining. > > > > While debugging it I also added better consistency check

Re: Fix ICE when inlining into function containing polymorphic call

2019-11-14 Thread Martin Jambor
Hi, On Wed, Nov 13 2019, Jan Hubicka wrote: > Hi, > the testcase causes inline context cache to go out of sync because I > forgot to update used flags of parameters in one path of > update_indirect_edges_after_inlining. > > While debugging it I also added better consistency check to > ipa-inline-a

Re: Fix ICE when inlining into function containing polymorphic call

2019-11-14 Thread Jan Hubicka
> On Wed, Nov 13, 2019 at 10:08:23PM +0100, Jan Hubicka wrote: > > PR c++/92421 > > * ipa-prop.c (update_indirect_edges_after_inlining): > > Mark parameter as used. > > * ipa-inline.c (recursive_inlining): Reset node cache > > after inlining. > > (inline_small_functions): Re

Re: Fix ICE when inlining into function containing polymorphic call

2019-11-13 Thread Jakub Jelinek
On Wed, Nov 13, 2019 at 10:08:23PM +0100, Jan Hubicka wrote: > PR c++/92421 > * ipa-prop.c (update_indirect_edges_after_inlining): > Mark parameter as used. > * ipa-inline.c (recursive_inlining): Reset node cache > after inlining. > (inline_small_functions): Remo

Fix ICE when inlining into function containing polymorphic call

2019-11-13 Thread Jan Hubicka
Hi, the testcase causes inline context cache to go out of sync because I forgot to update used flags of parameters in one path of update_indirect_edges_after_inlining. While debugging it I also added better consistency check to ipa-inline-analysis and turned ipa-inline test from ifdef to -fcheckin