The algorithm of the branch relaxation is not fully correct and generates a wrong code when condition can't be inverted.
I changed the "fixupConditionalBranch()" function - a new BB (trampoline) is created to keen the original branch condition.
Apparently, I can't attach a test case, I'm working out-of-tree.