mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-26 20:26:07 +00:00
Deal with cases when MMI is not requested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34556 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -2101,6 +2101,12 @@ SelectionDAGLowering::visitIntrinsicCall(CallInst &I, unsigned Intrinsic) {
|
|||||||
SDOperand Op = DAG.getNode(ISD::EXCEPTIONADDR, VTs, Ops, 1);
|
SDOperand Op = DAG.getNode(ISD::EXCEPTIONADDR, VTs, Ops, 1);
|
||||||
setValue(&I, Op);
|
setValue(&I, Op);
|
||||||
DAG.setRoot(Op.getValue(1));
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -2145,6 +2151,12 @@ SelectionDAGLowering::visitIntrinsicCall(CallInst &I, unsigned Intrinsic) {
|
|||||||
SDOperand Op = DAG.getNode(ISD::EHSELECTION, VTs, Ops, 2);
|
SDOperand Op = DAG.getNode(ISD::EHSELECTION, VTs, Ops, 2);
|
||||||
setValue(&I, Op);
|
setValue(&I, Op);
|
||||||
DAG.setRoot(Op.getValue(1));
|
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;
|
return 0;
|
||||||
@@ -2169,6 +2181,8 @@ SelectionDAGLowering::visitIntrinsicCall(CallInst &I, unsigned Intrinsic) {
|
|||||||
|
|
||||||
unsigned TypeID = MMI->getTypeIDFor(GV);
|
unsigned TypeID = MMI->getTypeIDFor(GV);
|
||||||
setValue(&I, DAG.getConstant(TypeID, MVT::i32));
|
setValue(&I, DAG.getConstant(TypeID, MVT::i32));
|
||||||
|
} else {
|
||||||
|
setValue(&I, DAG.getConstant(0, MVT::i32));
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user