> 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
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 early)
The patch bellow merges code from ipa-icf-gim