Add in support for expansion of all of the comparison operations to the absolute...
authorMicah Villmow <villmow@gmail.com>
Wed, 10 Oct 2012 20:50:51 +0000 (20:50 +0000)
committerMicah Villmow <villmow@gmail.com>
Wed, 10 Oct 2012 20:50:51 +0000 (20:50 +0000)
commit0242b9b543b47b770ff5e612f73ec3b5167bd1dd
treec0e4f08bebb936b97eee8bcc2aa9c37d4d157463
parentc399c753d9f22da10d06d2fa5e37e9ebad7bf665
Add in support for expansion of all of the comparison operations to the absolute minimum required set. This allows a backend to expand any arbitrary set of comparisons as long as a minimum set is supported.
The minimum set of required instructions is ISD::AND, ISD::OR, ISD::SETO(or ISD::SETOEQ) and ISD::SETUO(or ISD::SETUNE). Everything is expanded into one of two patterns:
Pattern 1: (LHS CC1 RHS) Opc (LHS CC2 RHS)
Pattern 2: (LHS CC1 LHS) Opc (RHS CC2 RHS)

llvm-svn: 165655
llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp