This is an archive of the discontinued LLVM Phabricator instance.

[DAG] allow more select folding for targets that have 'and not' (PR31175)
ClosedPublic

Authored by spatel on Dec 6 2016, 3:30 PM.

Details

Summary

The original motivation for this patch comes from wanting to canonicalize more IR to selects and also canonicalizing min/max.

If we're going to do that, we need more backend fixups to undo select codegen when simpler ops will do. I chose AArch64 for the tests because that shows the difference in the simplest way. This should fix:
https://llvm.org/bugs/show_bug.cgi?id=31175

Diff Detail

Repository
rL LLVM