Existing profitability model in guard widening is naive. In particular, it assumes
that whenever we can widen the guard away from the loop, we should do it, even
if the loop is never entered. As result, we can end up with conditions widened from
cold (sometimes dynamically dead) code into hot code.
This patch reject grossly unprofitable cases of this using BFI. The heuristic is "if the
destination is at least 2x hotter than the source, reject".
could you please introduce an option?