diff options
author | Chris Lattner <sabre@nondot.org> | 2005-01-18 02:59:52 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-01-18 02:59:52 +0000 |
commit | 82fbfb6984c1feb7d44a077ac2dc031f4a950005 (patch) | |
tree | 28d53b9a48c9be0635b3b4832ca116f5a96b20cc /lib/CodeGen | |
parent | f30b73b1c6b6ca8453dc61eb3777b4e4414d3839 (diff) |
Teach legalize to promote SetCC results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19657 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index b975e5859e..46db858053 100644 --- a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -917,6 +917,14 @@ SDOperand SelectionDAGLegalize::PromoteOp(SDOperand Op) { Result = DAG.getNode(ISD::FP_EXTEND, NVT, Op); assert(isa<ConstantFPSDNode>(Result) && "Didn't constant fold fp_extend?"); break; + case ISD::SETCC: + assert(getTypeAction(TLI.getSetCCResultTy()) == Legal && + "SetCC type is not legal??"); + Result = DAG.getSetCC(cast<SetCCSDNode>(Node)->getCondition(), + TLI.getSetCCResultTy(), Node->getOperand(0), + Node->getOperand(1)); + Result = LegalizeOp(Result); + break; case ISD::TRUNCATE: switch (getTypeAction(Node->getOperand(0).getValueType())) { |