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

--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
After my patch, we get:
```
void drawbutton (struct coord upperleft, struct coord lowerright, unsigned int
upperleftcolor, unsigned int lowerrightrcolor, unsigned int fillcolor, unsigned
int drawbackground)
{
  short unsigned int lowerright$x;
  struct coord D.3029;
  unsigned int _15;

  <bb 2> [local count: 1073741824]:
  _15 = MEM <unsigned int> [(short unsigned int *)&upperleft];
  lowerright$x_4 = lowerright.x;
  setpixel (upperleft, upperleftcolor_3(D));
  if (drawbackground_5(D) != 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 4>; [67.00%]

  <bb 3> [local count: 354334800]:
  MEM <unsigned int> [(short unsigned int *)&D.3029] = _15;
  plotHline (D.3029, lowerright$x_4, fillcolor_6(D));

  <bb 4> [local count: 1073741824]:
  setpixel (lowerright, lowerrightrcolor_8(D)); [tail call]
  return;

}

```
Which is better, just missing forming of upperleft but that is a different
issue and the original testcase had a different form.

Reply via email to