On Sat, Jun 20, 2020 at 12:20 PM Yichao Yu <yyc1...@gmail.com> wrote:
>
> On Sat, Jun 20, 2020 at 3:12 PM H.J. Lu <hjl.to...@gmail.com> wrote:
> >
> > On Sat, Jun 20, 2020 at 11:37 AM Yichao Yu <yyc1...@gmail.com> wrote:
> > >
> > > On Sat, Jun 20, 2020 at 1:54 PM Yichao Yu <yyc1...@gmail.com> wrote:
> > > >
> > > > > > The current logic seems to be comparing the whole attribute tree 
> > > > > > between the callee
> > > > > > and caller (or at least the tree starting from the target 
> > > > > > attribute).
> > > > > > This is unnecessary and causes strange dependency of the indirection
> > > > > > elimination on unrelated properties like `noinline`(PR95780) and 
> > > > > > `visibility`(PR95778).
> > > > >
> > > > > Does it fix PR95780 and PR95778?  Can you include testcases for them?
> > >
> > > OK so replacing
> > > https://github.com/gcc-mirror/gcc/commit/b8ce8129a560f64f8b2855c4a3812b7c3c0ebf3f#diff-e2d535917af8555baad2e9c8749e96a5
> > > with/adding to the test the following one should work. I still
> > > couldn't get test to run though......
> > >
> > Can you try the enclosed testcases?
>
>
> The assembly produced are the following with my patch and if I
> understand it correctly those should work. Unfortunately I don't know
> how to actually run the test as a test (if that makes sense....).
>

Place 2 files under gcc/testsuite/gcc.target/i386 and in GCC build directory, do

$ make check-gcc RUNTESTFLAGS="--target_board='unix{-m32,}'
i386.exp=pr95778-*.c"

They should fail without your patch and pass with your patch.


-- 
H.J.

Reply via email to