GuardWideningWindow() in InstCombine pass is used to bypass looking for another guard, the initial value is "3" which does not consider the case with dbg.value, if dbg instructions exist, it will exceed the guard widening window and the another guard will be missed.
The purpose of this patch is to skip debug instructions while looking for the guard in the window, use getNextNonDebugInstruction instead of previous getNextNode.