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)
commitd6458a0aa12ef831ff45d1ce55a89a70ed091cbe
treea0921b30ef19879a216252acf056f1d12e66b8a3
parentd2139c4e7aaeb03358638b14a589c0dc25521435
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)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165655 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp