While doing speculative execution opt, it conservatively drops all insn's debug info in the merged ThenBB(see the loop at line 2384) including the dangling probe. The missing debug info of the dangling probe will cause the wrong inference computation.
So we should avoid dropping the debug info from pseudo probe, this change try to fix this by moving the to-be dangling probe to the merging target BB before the debug info is dropped.
clang-tidy: warning: found assert() that could be replaced by static_assert() [misc-static-assert]
not useful