This is an archive of the discontinued LLVM Phabricator instance.

[X86] Simplify the BRCOND handling for FCMP_UNE.
ClosedPublic

Authored by craig.topper on Jan 3 2019, 11:48 PM.

Details

Summary

Despite what the comment says, FCMP_UNE would be an OR not an AND. In the lowering code the first branch created still goes to the original destination. The second branch was exchanged to go to where the subsequent unconditional branch went. This is different than what we do for FCMP_OEQ where both branches that we create go to the original unconditional branch.

As far as I can tell, I think this means we don't need to exchange the branch target with the unconditional branch for FCMP_UNE at all.

Diff Detail

Repository
rL LLVM

Event Timeline

craig.topper created this revision.Jan 3 2019, 11:48 PM
spatel accepted this revision.Jan 10 2019, 8:29 AM

LGTM

This revision is now accepted and ready to land.Jan 10 2019, 8:29 AM
This revision was automatically updated to reflect the committed changes.