> Yes, so this shows using original bodies for inlining isn't the issue.
> The issue is that we can't really ignore TBAA (completely?) when
> merging function bodies, independent of any issues that pop up
> when inlining merged bodies. We should have the above as testcase
Yes.
> in the testsuite
On Tue, 26 May 2015, Jan Hubicka wrote:
> > > Will do if we agree on having this.
> > >
> > > I know you would like ipa-icf to keep original bodies and use them for
> > > inlining declaring alias sets to be function local. This is wrong plan.
> > > Consder:
> > >
> > > void t(int *ptr)
> > >
> > Will do if we agree on having this.
> >
> > I know you would like ipa-icf to keep original bodies and use them for
> > inlining declaring alias sets to be function local. This is wrong plan.
> > Consder:
> >
> > void t(int *ptr)
> > {
> > *ptr=1;
> > }
> >
> > int a(int *ptr1, int *ptr
On Fri, 22 May 2015, Jan Hubicka wrote:
> > > + case OBJ_TYPE_REF:
> > > + {
> > > + if (!operand_equal_p (OBJ_TYPE_REF_EXPR (arg0),
> > > + OBJ_TYPE_REF_EXPR (arg1), flags))
> > > + return false;
> > > + if (flag_devirtualize && virtual_method_call_p (arg
> > > + case OBJ_TYPE_REF:
> > > + {
> > > + if (!operand_equal_p (OBJ_TYPE_REF_EXPR (arg0),
> > > + OBJ_TYPE_REF_EXPR (arg1), flags))
> > > + return false;
> > > + if (flag_devirtualize && virtual_method_call_p (arg0))
> > > + {
> > > + if (t
> > + case OBJ_TYPE_REF:
> > + {
> > + if (!operand_equal_p (OBJ_TYPE_REF_EXPR (arg0),
> > + OBJ_TYPE_REF_EXPR (arg1), flags))
> > + return false;
> > + if (flag_devirtualize && virtual_method_call_p (arg0))
> > + {
> > + if (t
On Fri, 22 May 2015, Jan Hubicka wrote:
> Hi,
> I am working on patch that makes operand_equal_p replace logic from
> ipa-icf-gimple's compare_op via a valueizer hook. Currently the patch however
> cuts number of merges on firefox to half (apparently becuase it gives up on
> some tree codes too e