> On Wed, Jan 02, 2019 at 12:15:53AM +0100, Jan Hubicka wrote:
> > > /vol/gcc/src/hg/trunk/local/gcc/testsuite/g++.dg/tree-prof/devirt.C:99:26:
> > >  optimized: folding virtual function call to virtual unsigned int 
> > > mozPersonalDictionary::_ZThn8_N21mozPersonalDictionary6AddRefEv()
> > > 
> > > > Is there a way to dump files for different patterns for 32bit or 64bit
> > > 
> > > Why would we: many similar scans just use _ZThn\[0-9\]+ instead.
> > 
> > Becuase the testcase was formely dispatching into ZThn8 (or some other
> > constant I forgot) instead of ZThn16 causing wrong code.
> > 
> > Well, there is runtime test that right thunk is used, so perhaps we can
> > just drop the part maching the actual value since most probably testcase
> > will ICE if wrong variant is picked again.
> 
> The testcase was written so that it aborts if it is miscompiled and succeeds
> otherwise, so I agree there is no urgent need for further dg-final scans on 
> it.
> 
> I don't think we have effective targets for various exact pointer sizes
> though, what we could do to cover most of the targets is e.g. following.
> Tested on x86_64-linux with both -m64 and -m32, ok for trunk?
> 
> 2019-01-02  Jakub Jelinek  <ja...@redhat.com>
> 
>       PR ipa/88561
>       * g++.dg/tree-prof/devirt.C: Expect _ZThn16 only for lp64 and llp64 
> targets
>       and expect _ZThn8 for ilp32 targets.

Looks good to me, thanks for working on it.
Another option would be to just remove the 16 from string so we check
that devirtualization happens and at runtime we check that it goes right
way.

Honza

Reply via email to