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

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note that we do it correctly even - forcing a TBAA type of just 'int' and thus
disabling path-based disambiguation.

So doing this won't help you, it just will generate larger trees:

void f(V&, V&) (struct V & v, struct V & w)
{
  int * _3;
  int * _6;
  int * _7;
  int * _8;

  <bb 2>:
  _3 = MEM[(int * &)w_2(D)].D.14881._M_impl._M_start;
  MEM[(int * &)w_2(D)].D.14881._M_impl._M_start = 0B;
  _6 = MEM[(int * &)w_2(D)].D.14881._M_impl._M_finish;
  MEM[(int * &)w_2(D)].D.14881._M_impl._M_finish = 0B;
  _7 = MEM[(int * &)w_2(D)].D.14881._M_impl._M_end_of_storage;
  MEM[(int * &)w_2(D)].D.14881._M_impl._M_end_of_storage = 0B;
  _8 = MEM[(int * &)v_4(D)].D.14881._M_impl._M_start;
  MEM[(int * &)v_4(D)].D.14881._M_impl._M_start = _3;
  MEM[(int * &)v_4(D)].D.14881._M_impl._M_finish = _6;
  MEM[(int * &)v_4(D)].D.14881._M_impl._M_end_of_storage = _7;
...

void g(V&, V&) (struct V & v, struct V & w)
{
  int * __tmp.0_5;
  int * _6;
  int * __tmp.0_7;
  int * _8;
  int * __tmp.0_9;
  int * _10;

  <bb 2>:
  __tmp.0_5 = MEM[(int * &)v_4(D)].D.14881._M_impl._M_start;
  MEM[(int * &)v_4(D)].D.14881._M_impl._M_start = 0B;
  MEM[(int * &)v_4(D)].D.14881._M_impl._M_finish = 0B;
  MEM[(int * &)v_4(D)].D.14881._M_impl._M_end_of_storage = 0B;
  _6 = MEM[(int * &)w_2(D)].D.14881._M_impl._M_start;
  MEM[(int * &)v_4(D)].D.14881._M_impl._M_start = _6;
  MEM[(int * &)w_2(D)].D.14881._M_impl._M_start = 0B;
  __tmp.0_7 = MEM[(int * &)v_4(D)].D.14881._M_impl._M_finish;
  _8 = MEM[(int * &)w_2(D)].D.14881._M_impl._M_finish;
  MEM[(int * &)v_4(D)].D.14881._M_impl._M_finish = _8;
  MEM[(int * &)w_2(D)].D.14881._M_impl._M_finish = __tmp.0_7;
  __tmp.0_9 = MEM[(int * &)v_4(D)].D.14881._M_impl._M_end_of_storage;
  _10 = MEM[(int * &)w_2(D)].D.14881._M_impl._M_end_of_storage;
  MEM[(int * &)v_4(D)].D.14881._M_impl._M_end_of_storage = _10;
  MEM[(int * &)w_2(D)].D.14881._M_impl._M_end_of_storage = __tmp.0_9;

they are still all plain int * accesses.

Reply via email to