diff options
| author | Jim Laskey <jlaskey@mac.com> | 2007-02-24 09:45:44 +0000 |
|---|---|---|
| committer | Jim Laskey <jlaskey@mac.com> | 2007-02-24 09:45:44 +0000 |
| commit | e1d1c0590f2b9f4ca431512f592378bf4fd70258 (patch) | |
| tree | 2f245960d28ddbc727464cc406572949bc7057f1 /llvm | |
| parent | b869ab6f31ce010fd72a29a4fde76453886cc631 (diff) | |
| download | bcm5719-llvm-e1d1c0590f2b9f4ca431512f592378bf4fd70258.tar.gz bcm5719-llvm-e1d1c0590f2b9f4ca431512f592378bf4fd70258.zip | |
Deal with cases when MMI is not requested.
llvm-svn: 34556
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index c35f02a06ca..99136ec160e 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -2101,6 +2101,12 @@ SelectionDAGLowering::visitIntrinsicCall(CallInst &I, unsigned Intrinsic) { SDOperand Op = DAG.getNode(ISD::EXCEPTIONADDR, VTs, Ops, 1); setValue(&I, Op); DAG.setRoot(Op.getValue(1)); + } else { + SDOperand Op = DAG.getNode(ISD::MERGE_VALUES, TLI.getPointerTy(), + DAG.getConstant(0, TLI.getPointerTy()), + DAG.getRoot()); + setValue(&I, Op); + DAG.setRoot(Op.getValue(1)); } return 0; } @@ -2145,6 +2151,12 @@ SelectionDAGLowering::visitIntrinsicCall(CallInst &I, unsigned Intrinsic) { SDOperand Op = DAG.getNode(ISD::EHSELECTION, VTs, Ops, 2); setValue(&I, Op); DAG.setRoot(Op.getValue(1)); + } else { + SDOperand Op = DAG.getNode(ISD::MERGE_VALUES, TLI.getPointerTy(), + DAG.getConstant(0, TLI.getPointerTy()), + getValue(I.getOperand(1))); + setValue(&I, Op); + DAG.setRoot(Op.getValue(1)); } return 0; @@ -2169,6 +2181,8 @@ SelectionDAGLowering::visitIntrinsicCall(CallInst &I, unsigned Intrinsic) { unsigned TypeID = MMI->getTypeIDFor(GV); setValue(&I, DAG.getConstant(TypeID, MVT::i32)); + } else { + setValue(&I, DAG.getConstant(0, MVT::i32)); } return 0; |

