When marking a global variable constant, and simplifying users using
CleanupConstantGlobalUsers(), the pass could incorrectly return false if
there were still some uses left, and no further optimizations was done.
This was caught using the check introduced by D80916.
This fixes PR46749.
Can GV here be already a constant? If so, we should only set Changed if !GV->isConstant(). Or if it is always non-constant to start with, perhaps add an assert to make sure?