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

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note the gimple stmt/complex_expr in this case:
  _6 = COMPLEX_EXPR <a.0_1, 0>;


where _6 is fully unused.

Complex lowering changes:
  _6 = COMPLEX_EXPR <a.0_1, 0>;
  _2 = REALPART_EXPR <_6>;

into:
  _6 = COMPLEX_EXPR <a.0_1, 0>;
  _2 = a.0_1;

Which is totally correct though it does not do any DCE.
I am not sure if complex lowering should do some simple DCE or if it matters if
it does not do it.

Reply via email to