1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00

Remove a bit more cruft from the sjlj moving to a backend pass.

llvm-svn: 79272
This commit is contained in:
Jim Grosbach 2009-08-17 20:25:04 +00:00
parent 452962eec7
commit 5d064eeb2a
6 changed files with 0 additions and 81 deletions

View File

@ -38,7 +38,6 @@
<li><a href="#llvm_eh_sjlj_setjmp"><tt>llvm.eh.sjlj.setjmp</tt></a></li>
<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>
</ol></li>
<li><a href="#asm">Asm Table Formats</a>
<ol>
@ -471,24 +470,6 @@
</div>
<!-- ======================================================================= -->
<div class="doc_subsubsection">
<a name="llvm_eh_sjlj_callsite">llvm.eh.sjlj.callsite</a>
</div>
<div class="doc_text">
<pre>
void %<a href="#llvm_eh_sjlj_callsite">llvm.eh.sjlj.callsite</a>(i32)
</pre>
<p>The SJLJ front-end allocates call site indices for invoke instrucitons.
These values are passed to the back-end via the
<a href="#llvm_eh_sjlj_callsite"><tt>llvm.eh.sjlj.callsite</tt></a>
intrinsic, where they are used to build the LSDA call-site table.</p>
</div>
<!-- ======================================================================= -->
<div class="doc_section">
<a name="asm">Asm Table Formats</a>

View File

@ -115,15 +115,6 @@ class MachineFunction {
// The alignment of the function.
unsigned Alignment;
// The currently active call_site value
unsigned CallSiteIndex;
// The largest call_site value encountered
unsigned MaxCallSiteIndex;
// Call sites mapped to corresponding landing pads
std::map<MachineBasicBlock*, unsigned> LandingPadCallSiteIndexMap;
public:
MachineFunction(Function *Fn, const TargetMachine &TM);
~MachineFunction();
@ -169,41 +160,6 @@ public:
///
void setAlignment(unsigned A) { Alignment = A; }
/// getCallSiteIndex() - Get the current call site index
///
unsigned getCallSiteIndex() { return CallSiteIndex; }
/// setCallSiteIndex() - Set the current call site index
///
void setCallSiteIndex(unsigned Idx) {
CallSiteIndex = Idx;
if (CallSiteIndex > MaxCallSiteIndex)
MaxCallSiteIndex = CallSiteIndex;
}
/// getMaxCallSiteIndex() - Get the largest call site index issued
///
unsigned getMaxCallSiteIndex() { return MaxCallSiteIndex; }
/// setCallSiteIndexLandingPad() - Map the call site to a landing pad
///
void setLandingPadCallSiteIndex(MachineBasicBlock *LandingPad,
unsigned CallSite) {
LandingPadCallSiteIndexMap[LandingPad] = CallSite;
}
/// getCallSiteIndexLandingPad() - Get landing pad for the call site index
///
unsigned getLandingPadCallSiteIndex(MachineBasicBlock *LandingPad) {
return LandingPadCallSiteIndexMap[LandingPad];
}
/// getCallSiteCount() - Get the count of call site entries
///
unsigned getCallSiteCount() {
return LandingPadCallSiteIndexMap.size();
}
/// MachineFunctionInfo - Keep track of various per-function pieces of
/// information for backends that would like to do so.
///

View File

@ -310,9 +310,6 @@ let Properties = [IntrNoMem] in {
def int_eh_sjlj_longjmp : Intrinsic<[llvm_void_ty], [llvm_ptr_ty]>;
def int_eh_sjlj_lsda : Intrinsic<[llvm_ptr_ty]>;
}
let Properties = [IntrWriteMem] in {
def int_eh_sjlj_callsite: Intrinsic<[llvm_void_ty], [llvm_i32_ty]>;
}
//===---------------- Generic Variable Attribute Intrinsics----------------===//
//

View File

@ -640,9 +640,6 @@ void DwarfException::EmitExceptionTable() {
Asm->EmitULEB128Bytes(SizeSites);
Asm->EOL("Call-site table length");
assert(MF->getCallSiteCount() == CallSites.size());
// Emit the landing pad site information.
unsigned idx = 0;
for (SmallVectorImpl<CallSiteEntry>::const_iterator

View File

@ -93,9 +93,6 @@ MachineFunction::MachineFunction(Function *F,
MachineConstantPool(TM.getTargetData());
Alignment = TM.getTargetLowering()->getFunctionAlignment(F);
CallSiteIndex = 0;
MaxCallSiteIndex = 0;
// Set up jump table.
const TargetData &TD = *TM.getTargetData();
bool IsPic = TM.getRelocationModel() == Reloc::PIC_;

View File

@ -4084,11 +4084,6 @@ SelectionDAGLowering::visitIntrinsicCall(CallInst &I, unsigned Intrinsic) {
Offset));
return 0;
}
case Intrinsic::eh_sjlj_callsite: {
MachineFunction &MF = DAG.getMachineFunction();
MF.setCallSiteIndex(cast<ConstantSDNode>(getValue(I.getOperand(1)))->getZExtValue());
return 0;
}
case Intrinsic::convertff:
case Intrinsic::convertfsi:
case Intrinsic::convertfui:
@ -4452,14 +4447,10 @@ void SelectionDAGLowering::LowerCallTo(CallSite CS, SDValue Callee,
}
if (LandingPad && MMI) {
MachineFunction &MF = DAG.getMachineFunction();
// Insert a label before the invoke call to mark the try range. This can be
// used to detect deletion of the invoke via the MachineModuleInfo.
BeginLabel = MMI->NextLabelID();
// Map this landing pad to the current call site entry
MF.setLandingPadCallSiteIndex(LandingPad, MF.getCallSiteIndex());
// Both PendingLoads and PendingExports must be flushed here;
// this call might not return.
(void)getRoot();