mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 21:32:10 +00:00
Remove dead llvm.eh.sjlj.dispatchsetup intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145263 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ed38f1ca2e
commit
c80383095e
@ -38,7 +38,6 @@
|
||||
<li><a href="#llvm_eh_sjlj_longjmp"><tt>llvm.eh.sjlj.longjmp</tt></a></li>
|
||||
<li><a href="#llvm_eh_sjlj_lsda"><tt>llvm.eh.sjlj.lsda</tt></a></li>
|
||||
<li><a href="#llvm_eh_sjlj_callsite"><tt>llvm.eh.sjlj.callsite</tt></a></li>
|
||||
<li><a href="#llvm_eh_sjlj_dispatchsetup"><tt>llvm.eh.sjlj.dispatchsetup</tt></a></li>
|
||||
</ol></li>
|
||||
<li><a href="#asm">Asm Table Formats</a>
|
||||
<ol>
|
||||
@ -498,25 +497,6 @@
|
||||
|
||||
</div>
|
||||
|
||||
<!-- ======================================================================= -->
|
||||
<h4>
|
||||
<a name="llvm_eh_sjlj_dispatchsetup">llvm.eh.sjlj.dispatchsetup</a>
|
||||
</h4>
|
||||
|
||||
<div>
|
||||
|
||||
<pre>
|
||||
void @llvm.eh.sjlj.dispatchsetup(i32 %dispatch_value)
|
||||
</pre>
|
||||
|
||||
<p>For SJLJ based exception handling, the <tt>llvm.eh.sjlj.dispatchsetup</tt>
|
||||
intrinsic is used by targets to do any unwind edge setup they need. By
|
||||
default, no action is taken.</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- ======================================================================= -->
|
||||
<h2>
|
||||
<a name="asm">Asm Table Formats</a>
|
||||
|
@ -107,13 +107,6 @@ namespace ISD {
|
||||
// and returns an outchain.
|
||||
EH_SJLJ_LONGJMP,
|
||||
|
||||
// OUTCHAIN = EH_SJLJ_DISPATCHSETUP(INCHAIN, setjmpval)
|
||||
// This corresponds to the eh.sjlj.dispatchsetup intrinsic. It takes an
|
||||
// input chain and the value returning from setjmp as inputs and returns an
|
||||
// outchain. By default, this does nothing. Targets can lower this to unwind
|
||||
// setup code if needed.
|
||||
EH_SJLJ_DISPATCHSETUP,
|
||||
|
||||
// TargetConstant* - Like Constant*, but the DAG does not do any folding,
|
||||
// simplification, or lowering of the constant. They are used for constants
|
||||
// which are known to fit in the immediate fields of their users, or for
|
||||
|
@ -326,7 +326,6 @@ let Properties = [IntrNoMem] in {
|
||||
def int_eh_sjlj_callsite : Intrinsic<[], [llvm_i32_ty]>;
|
||||
}
|
||||
def int_eh_sjlj_functioncontext : Intrinsic<[], [llvm_ptr_ty]>;
|
||||
def int_eh_sjlj_dispatch_setup : Intrinsic<[], [llvm_i32_ty]>;
|
||||
def int_eh_sjlj_setjmp : Intrinsic<[llvm_i32_ty], [llvm_ptr_ty]>;
|
||||
def int_eh_sjlj_longjmp : Intrinsic<[], [llvm_ptr_ty]>;
|
||||
|
||||
|
@ -785,7 +785,6 @@ void SelectionDAGLegalize::LegalizeOp(SDNode *Node) {
|
||||
case ISD::FRAME_TO_ARGS_OFFSET:
|
||||
case ISD::EH_SJLJ_SETJMP:
|
||||
case ISD::EH_SJLJ_LONGJMP:
|
||||
case ISD::EH_SJLJ_DISPATCHSETUP:
|
||||
// These operations lie about being legal: when they claim to be legal,
|
||||
// they should actually be expanded.
|
||||
Action = TLI.getOperationAction(Node->getOpcode(), Node->getValueType(0));
|
||||
@ -2538,7 +2537,6 @@ void SelectionDAGLegalize::ExpandNode(SDNode *Node) {
|
||||
case ISD::PREFETCH:
|
||||
case ISD::VAEND:
|
||||
case ISD::EH_SJLJ_LONGJMP:
|
||||
case ISD::EH_SJLJ_DISPATCHSETUP:
|
||||
// If the target didn't expand these, there's nothing to do, so just
|
||||
// preserve the chain and be done.
|
||||
Results.push_back(Node->getOperand(0));
|
||||
|
@ -5943,7 +5943,6 @@ std::string SDNode::getOperationName(const SelectionDAG *G) const {
|
||||
case ISD::EH_RETURN: return "EH_RETURN";
|
||||
case ISD::EH_SJLJ_SETJMP: return "EH_SJLJ_SETJMP";
|
||||
case ISD::EH_SJLJ_LONGJMP: return "EH_SJLJ_LONGJMP";
|
||||
case ISD::EH_SJLJ_DISPATCHSETUP: return "EH_SJLJ_DISPATCHSETUP";
|
||||
case ISD::ConstantPool: return "ConstantPool";
|
||||
case ISD::ExternalSymbol: return "ExternalSymbol";
|
||||
case ISD::BlockAddress: return "BlockAddress";
|
||||
|
@ -4775,11 +4775,6 @@ SelectionDAGBuilder::visitIntrinsicCall(const CallInst &I, unsigned Intrinsic) {
|
||||
getRoot(), getValue(I.getArgOperand(0))));
|
||||
return 0;
|
||||
}
|
||||
case Intrinsic::eh_sjlj_dispatch_setup: {
|
||||
DAG.setRoot(DAG.getNode(ISD::EH_SJLJ_DISPATCHSETUP, dl, MVT::Other,
|
||||
getRoot(), getValue(I.getArgOperand(0))));
|
||||
return 0;
|
||||
}
|
||||
|
||||
case Intrinsic::x86_mmx_pslli_w:
|
||||
case Intrinsic::x86_mmx_pslli_d:
|
||||
|
Loading…
Reference in New Issue
Block a user