One challenge is that there are lots of cases where a program might have UB for a certain input, but a full-program analysis reveals that this UB is not actually possible to hit with any execution.
Should it still report UB? What if the full program analysis is beyond what the compiler is able to reason about?
Should it still report UB? What if the full program analysis is beyond what the compiler is able to reason about?