When multiple guard intrinsics are merged into one, currently the result of eraseInstFromFunction() is returned -- however, this should only be done if the current instruction is being removed. In this case we're removing a different instruction and should instead report that the current one has been modified by returning it.
For this test case, this reduces the number of instcombine iterations from 5 to 2 (the minimum possible).