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

--- Comment #2 from Hongtao.liu <crazylht at gmail dot com> ---
One possible way is sink maxInt = src[i] out of loop, when there's synchronised
index search in the loop, just like below.

int max (int *src, int n, int *position)
{
  int maxInt;
  int maxIndex;
  int i;

  maxInt = src[0];
  maxIndex = 0;
  for (i = 1; i < n; i++) {
    if (maxInt < src[i]) {
      maxIndex = i;
    }
  }
  maxInt = src[maxIndex];
  *position = maxIndex;
  return (maxInt);
}

Reply via email to