https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91771

Xionghu Luo (luoxhu at gcc dot gnu.org) <yinyuefengyi at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |yinyuefengyi at gmail dot com

--- Comment #4 from Xionghu Luo (luoxhu at gcc dot gnu.org) <yinyuefengyi at 
gmail dot com> ---
Just curious about the 021t.ssa dump...


int f (struct Derived & d)
{
  struct Base * _1;  
  int _5;
  int _6;

  <bb 2> :
  _1 = &d_2(D)->D.2395;
  _5 = Base::foo (_1, 40);
  _6 = _5;
  return _6;

}


d_2 is a reference to "struct Derived" type instance, so is it an unnecessary
type promotion of promoting type "_1" to "struct Base *"?  Another thing to be
noted is early inline pass inlined Base::foo into f, but it failed to
devirtualize the virtual call in it, is it possible to devirt the call if
"struct Derived * _1" is produced in ssa pass?

Reply via email to