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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |marxin at gcc dot gnu.org

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Yes, that's the case. Switch lowering pass sees:

  <bb 2> [local count: 1073741809]:
  _1 = v_14(D)->index_;
  switch (_1) <default: <L5> [0.00%], case 0: <L7> [20.00%], case 1: <L8>
[20.00%], case 2: <L9> [20.00%], case 3: <L10> [20.00%], case 4: <L11>
[20.00%]>

  <bb 3> [local count: 214748365]:
<L7>:
  _15 = &v_14(D)->D.2444.t0_;
  _2 = MEM[(struct T0 *)v_14(D) + 8B].D.2369._vptr.Base;
  _3 = *_2;
  OBJ_TYPE_REF(_3;(struct T0)_15->0) (_15, f_16(D));
  goto <bb 9>; [100.00%]

  <bb 4> [local count: 214748365]:
<L8>:
  _18 = &v_14(D)->D.2444.t1_;
  _4 = MEM[(struct T1 *)v_14(D) + 8B].D.2383._vptr.Base;
  _5 = *_4;
  OBJ_TYPE_REF(_5;(struct T1)_18->0) (_18, f_16(D));
  goto <bb 9>; [100.00%]

...

Reply via email to