diff options
author | Evan Cheng <evan.cheng@apple.com> | 2005-12-21 20:21:51 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2005-12-21 20:21:51 +0000 |
commit | c1583dbd63093b6e9a6f4b494b4f912f50271982 (patch) | |
tree | f7d584a9b050f99ba54418e5327d43a3c679cc72 /llvm/lib/CodeGen | |
parent | f646926ecffd5e75138039d522f5820b4b344845 (diff) | |
download | bcm5719-llvm-c1583dbd63093b6e9a6f4b494b4f912f50271982.tar.gz bcm5719-llvm-c1583dbd63093b6e9a6f4b494b4f912f50271982.zip |
* Added support for X86 RET with an additional operand to specify number of
bytes to pop off stack.
* Added support for X86 SETCC.
llvm-svn: 24917
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index 581b969957e..d76a89df8fe 100644 --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -1621,6 +1621,16 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) { Node->getOperand(2)); break; } + case TargetLowering::Custom: { + SDOperand Tmp = + TLI.LowerOperation(DAG.getNode(ISD::SETCC, Node->getValueType(0), + Tmp1, Tmp2, Node->getOperand(2)), DAG); + if (Tmp.Val) { + Result = LegalizeOp(Tmp); + break; + } + // FALLTHROUGH if the target thinks it is legal. + } case TargetLowering::Legal: if (Tmp1 != Node->getOperand(0) || Tmp2 != Node->getOperand(1)) Result = DAG.getNode(ISD::SETCC, Node->getValueType(0), Tmp1, Tmp2, |