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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2017-12-11
                 CC|                            |hubicka at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
(gdb) p node->debug ()
_ZN12_GLOBAL__N_11bIiNS_12_GLOBAL__N_12acIcccEEED2Ev/1 ({anonymous}::b<int,
{anonymous}::{anonymous}::ac<char> >::~b()) @0x7ffff6db8170
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: 
  Referring: 
  Function {anonymous}::b<int, {anonymous}::{anonymous}::ac<char> >::~b()/1 is
inline copy in {anonymous}::ae::~ae()/6
  Availability: local
  First run: 0
  Function flags: count: 574129753 (estimated locally) body local
  Called by: {anonymous}::ae::~ae()/6 (inlined) (574129753 (estimated
locally),0.53 per call) 
  Calls: {anonymous}::{anonymous}::ac<e, <template-parameter-1-2>,
<template-parameter-1-3> >::~ac() [with <template-parameter-1-1> = char;
<template-parameter-1-2> = char; <template-parameter-1-3> = char]/15 (574129752
(estimated locally),0.53 per call) 


so it's an inline clone.  BUT ... at the start of the loop it is

_ZN12_GLOBAL__N_11bIiNS_12_GLOBAL__N_12acIcccEEED1Ev/2 ({anonymous}::b<int,
{anonymous}::{anonymous}::ac<char> >::~b()) @0x7ffff6db82e0
  Type: function definition analyzed alias cpp_implicit_alias
  Visibility: prevailing_def_ironly artificial
  References: _ZN12_GLOBAL__N_11bIiNS_12_GLOBAL__N_12acIcccEEED2Ev/1 (alias)
  Referring: 
  Availability: local
  First run: 0
  Function flags: local
  Called by: {anonymous}::ae::~ae()/6 (574129753 (estimated locally),0.53 per
call) 
  Calls: 

so I'm not sure if 'order' stays valid during flatten processing or if we're
just lucky in re-using GC memory with the inline clone.

Honza?

Reply via email to