Look again. /* If MEM is an unchanging read, then it can't possibly conflict with the store to X, because there is at most one store to MEM, and it must have occurred somewhere before MEM. */ if (! writep && RTX_UNCHANGING_P (mem)) return 0; I hadn't gotten down that far. I think that's wrong, or at least dubious.