A piece of code in `isLoopBackedgeGuardedByCond` basically duplicates
the dominators traversal from `isBlockEntryGuardedByCond` called from
`isKnownPredicateAt`, but it's less powerful because it does not give context
because it does not give context to `isImpliedCond`. This patch reuses the `isKnownPredicateAt `function there,
the said function there, reducing the amount of code duplication and making it
it more powerful.