[llvm-branch-commits] [llvm-branch] r83125 - in /llvm/branches/eh-experiment: include/llvm/CodeGen/SelectionDAGNodes.h include/llvm/Intrinsics.td lib/CodeGen/IntrinsicLowering.cpp lib/CodeGen/SelectionDAG/FastISel.cpp lib/CodeGen/SelectionDAG/LegalizeDAG.cpp lib/CodeGen/SelectionDAG/SelectionDAG.cpp lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp lib/Target/ARM/ARMISelLowering.cpp lib/Target/PowerPC/PPCISelLowering.cpp lib/Target/X86/X86ISelLowering.cpp
Bill Wendling
isanbard at gmail.com
Tue Sep 29 17:20:37 PDT 2009
Author: void
Date: Tue Sep 29 19:20:37 2009
New Revision: 83125
URL: http://llvm.org/viewvc/llvm-project?rev=83125&view=rev
Log:
s/eh_personality_/eh_landingpad_/ and s/EHPERSONALITY/EHLANDINGPAD/.
Modified:
llvm/branches/eh-experiment/include/llvm/CodeGen/SelectionDAGNodes.h
llvm/branches/eh-experiment/include/llvm/Intrinsics.td
llvm/branches/eh-experiment/lib/CodeGen/IntrinsicLowering.cpp
llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/FastISel.cpp
llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
llvm/branches/eh-experiment/lib/Target/ARM/ARMISelLowering.cpp
llvm/branches/eh-experiment/lib/Target/PowerPC/PPCISelLowering.cpp
llvm/branches/eh-experiment/lib/Target/X86/X86ISelLowering.cpp
Modified: llvm/branches/eh-experiment/include/llvm/CodeGen/SelectionDAGNodes.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/eh-experiment/include/llvm/CodeGen/SelectionDAGNodes.h?rev=83125&r1=83124&r2=83125&view=diff
==============================================================================
--- llvm/branches/eh-experiment/include/llvm/CodeGen/SelectionDAGNodes.h (original)
+++ llvm/branches/eh-experiment/include/llvm/CodeGen/SelectionDAGNodes.h Tue Sep 29 19:20:37 2009
@@ -126,9 +126,10 @@
// the selection index of the exception thrown.
EHSELECTION,
- // RESULT, OUTCHAIN = EHPERSONALITY(INCHAIN, EXCEPTION) - This node
- // represents the selection index of the exception thrown.
- EHPERSONALITY,
+ // RESULT, OUTCHAIN = EHLANDINGPAD(INCHAIN, EXCEPTION) - This node
+ // represents the selection index of the exception thrown. This replaces the
+ // EHSELECTION node.
+ EHLANDINGPAD,
// OUTCHAIN = EH_RETURN(INCHAIN, OFFSET, HANDLER) - This node represents
// 'eh_return' gcc dwarf builtin, which is used to return from
Modified: llvm/branches/eh-experiment/include/llvm/Intrinsics.td
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/eh-experiment/include/llvm/Intrinsics.td?rev=83125&r1=83124&r2=83125&view=diff
==============================================================================
--- llvm/branches/eh-experiment/include/llvm/Intrinsics.td (original)
+++ llvm/branches/eh-experiment/include/llvm/Intrinsics.td Tue Sep 29 19:20:37 2009
@@ -290,21 +290,12 @@
//===------------------ Exception Handling Intrinsics----------------------===//
//
-// The `eh.personality' intrinsics hold a pointer to the "personality"
-// function. The main purpose being to facilitate performing exception handling
-// explicitly. I.e., we won't be going through exception handling tables. The
-// reason for doing this is that LLVM's IR isn't sufficient enough (at the
-// present time) to encode the exception handling data and also keep it
-// up-to-date during transformations. The current way is to encode the EH data
-// in the CFG, and then do a sort of pattern matching algorithm to try to
-// recover this data. However, that falls apart very quickly. This way is robust
-// for all transformations.
-
-// Args: Exception, Personality Routine, Catch-All Type
-def int_eh_personality_i32 : Intrinsic<[llvm_i32_ty],
- [llvm_ptr_ty, llvm_ptr_ty, llvm_ptr_ty]>;
-def int_eh_personality_i64 : Intrinsic<[llvm_i64_ty],
- [llvm_ptr_ty, llvm_ptr_ty, llvm_ptr_ty]>;
+// The `eh.landingpad' instrinsics indicate that a basic block is a landing
+// pad. Args: Exception, Personality Routine, Catch-All Type.
+def int_eh_landingpad_i32 : Intrinsic<[llvm_i32_ty],
+ [llvm_ptr_ty, llvm_ptr_ty, llvm_ptr_ty]>;
+def int_eh_landingpad_i64 : Intrinsic<[llvm_i64_ty],
+ [llvm_ptr_ty, llvm_ptr_ty, llvm_ptr_ty]>;
def int_eh_exception : Intrinsic<[llvm_ptr_ty]>;
Modified: llvm/branches/eh-experiment/lib/CodeGen/IntrinsicLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/eh-experiment/lib/CodeGen/IntrinsicLowering.cpp?rev=83125&r1=83124&r2=83125&view=diff
==============================================================================
--- llvm/branches/eh-experiment/lib/CodeGen/IntrinsicLowering.cpp (original)
+++ llvm/branches/eh-experiment/lib/CodeGen/IntrinsicLowering.cpp Tue Sep 29 19:20:37 2009
@@ -437,8 +437,8 @@
case Intrinsic::eh_exception:
case Intrinsic::eh_selector_i32:
case Intrinsic::eh_selector_i64:
- case Intrinsic::eh_personality_i32:
- case Intrinsic::eh_personality_i64:
+ case Intrinsic::eh_landingpad_i32:
+ case Intrinsic::eh_landingpad_i64:
CI->replaceAllUsesWith(Constant::getNullValue(CI->getType()));
break;
Modified: llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/FastISel.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/FastISel.cpp?rev=83125&r1=83124&r2=83125&view=diff
==============================================================================
--- llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/FastISel.cpp (original)
+++ llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/FastISel.cpp Tue Sep 29 19:20:37 2009
@@ -480,13 +480,13 @@
break;
}
- case Intrinsic::eh_personality_i32:
- case Intrinsic::eh_personality_i64: {
+ case Intrinsic::eh_landingpad_i32:
+ case Intrinsic::eh_landingpad_i64: {
EVT VT = TLI.getValueType(I->getType());
- switch (TLI.getOperationAction(ISD::EHPERSONALITY, VT)) {
+ switch (TLI.getOperationAction(ISD::EHLANDINGPAD, VT)) {
default: break;
case TargetLowering::Expand: {
- EVT VT = (IID == Intrinsic::eh_personality_i32 ? MVT::i32 : MVT::i64);
+ EVT VT = (IID == Intrinsic::eh_landingpad_i32 ? MVT::i32 : MVT::i64);
if (MMI) {
// TODO: Figure if this is correct.
Modified: llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp?rev=83125&r1=83124&r2=83125&view=diff
==============================================================================
--- llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp (original)
+++ llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Tue Sep 29 19:20:37 2009
@@ -2599,7 +2599,7 @@
Results.push_back(Results[0].getValue(1));
break;
}
- case ISD::EHPERSONALITY: {
+ case ISD::EHLANDINGPAD: {
unsigned Reg = TLI.getExceptionSelectorRegister();
assert(Reg && "Can't expand to unknown register!");
Results.push_back(DAG.getCopyFromReg(Node->getOperand(1), dl, Reg,
Modified: llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/SelectionDAG.cpp?rev=83125&r1=83124&r2=83125&view=diff
==============================================================================
--- llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (original)
+++ llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Tue Sep 29 19:20:37 2009
@@ -5367,7 +5367,7 @@
case ISD::EXCEPTIONADDR: return "EXCEPTIONADDR";
case ISD::LSDAADDR: return "LSDAADDR";
case ISD::EHSELECTION: return "EHSELECTION";
- case ISD::EHPERSONALITY: return "EHPERSONALITY";
+ case ISD::EHLANDINGPAD: return "EHLANDINGPAD";
case ISD::EH_RETURN: return "EH_RETURN";
case ISD::ConstantPool: return "ConstantPool";
case ISD::ExternalSymbol: return "ExternalSymbol";
Modified: llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp?rev=83125&r1=83124&r2=83125&view=diff
==============================================================================
--- llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp (original)
+++ llvm/branches/eh-experiment/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp Tue Sep 29 19:20:37 2009
@@ -3996,8 +3996,8 @@
return 0;
}
- case Intrinsic::eh_personality_i32:
- case Intrinsic::eh_personality_i64: {
+ case Intrinsic::eh_landingpad_i32:
+ case Intrinsic::eh_landingpad_i64: {
MachineModuleInfo *MMI = DAG.getMachineModuleInfo();
// TODO: Figure out if we want to do this like this.
AddCatchInfo(I, MMI, CurMBB);
@@ -4006,17 +4006,17 @@
unsigned Reg = TLI.getExceptionSelectorRegister();
if (Reg && !CurMBB->isLiveIn(Reg)) CurMBB->addLiveIn(Reg);
- // Insert the EHPERSONALITY instruction.
+ // Insert the EHLANDINGPAD instruction.
SDVTList VTs = DAG.getVTList(TLI.getPointerTy(), MVT::Other);
SDValue Ops[2];
Ops[0] = getValue(I.getOperand(1));
Ops[1] = getRoot();
- SDValue Op = DAG.getNode(ISD::EHPERSONALITY, dl, VTs, Ops, 2);
+ SDValue Op = DAG.getNode(ISD::EHLANDINGPAD, dl, VTs, Ops, 2);
DAG.setRoot(Op.getValue(1));
MVT::SimpleValueType VT =
- (Intrinsic == Intrinsic::eh_personality_i32 ? MVT::i32 : MVT::i64);
+ (Intrinsic == Intrinsic::eh_landingpad_i32 ? MVT::i32 : MVT::i64);
if (Op.getValueType().getSimpleVT() < VT)
Op = DAG.getNode(ISD::SIGN_EXTEND, dl, VT, Op);
else if (Op.getValueType().getSimpleVT() < VT)
Modified: llvm/branches/eh-experiment/lib/Target/ARM/ARMISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/eh-experiment/lib/Target/ARM/ARMISelLowering.cpp?rev=83125&r1=83124&r2=83125&view=diff
==============================================================================
--- llvm/branches/eh-experiment/lib/Target/ARM/ARMISelLowering.cpp (original)
+++ llvm/branches/eh-experiment/lib/Target/ARM/ARMISelLowering.cpp Tue Sep 29 19:20:37 2009
@@ -371,7 +371,7 @@
setOperationAction(ISD::STACKSAVE, MVT::Other, Expand);
setOperationAction(ISD::STACKRESTORE, MVT::Other, Expand);
setOperationAction(ISD::EHSELECTION, MVT::i32, Expand);
- setOperationAction(ISD::EHPERSONALITY, MVT::i32, Expand);
+ setOperationAction(ISD::EHLANDINGPAD, MVT::i32, Expand);
// FIXME: Shouldn't need this, since no register is used, but the legalizer
// doesn't yet know how to not do that for SjLj.
setExceptionSelectorRegister(ARM::R0);
Modified: llvm/branches/eh-experiment/lib/Target/PowerPC/PPCISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/eh-experiment/lib/Target/PowerPC/PPCISelLowering.cpp?rev=83125&r1=83124&r2=83125&view=diff
==============================================================================
--- llvm/branches/eh-experiment/lib/Target/PowerPC/PPCISelLowering.cpp (original)
+++ llvm/branches/eh-experiment/lib/Target/PowerPC/PPCISelLowering.cpp Tue Sep 29 19:20:37 2009
@@ -188,10 +188,10 @@
setOperationAction(ISD::EXCEPTIONADDR, MVT::i64, Expand);
setOperationAction(ISD::EHSELECTION, MVT::i64, Expand);
- setOperationAction(ISD::EHPERSONALITY, MVT::i64, Expand);
+ setOperationAction(ISD::EHLANDINGPAD, MVT::i64, Expand);
setOperationAction(ISD::EXCEPTIONADDR, MVT::i32, Expand);
setOperationAction(ISD::EHSELECTION, MVT::i32, Expand);
- setOperationAction(ISD::EHPERSONALITY, MVT::i32, Expand);
+ setOperationAction(ISD::EHLANDINGPAD, MVT::i32, Expand);
// We want to legalize GlobalAddress and ConstantPool nodes into the
// appropriate instructions to materialize the address.
Modified: llvm/branches/eh-experiment/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/eh-experiment/lib/Target/X86/X86ISelLowering.cpp?rev=83125&r1=83124&r2=83125&view=diff
==============================================================================
--- llvm/branches/eh-experiment/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/branches/eh-experiment/lib/Target/X86/X86ISelLowering.cpp Tue Sep 29 19:20:37 2009
@@ -383,10 +383,10 @@
setOperationAction(ISD::EXCEPTIONADDR, MVT::i64, Expand);
setOperationAction(ISD::EHSELECTION, MVT::i64, Expand);
- setOperationAction(ISD::EHPERSONALITY, MVT::i64, Expand);
+ setOperationAction(ISD::EHLANDINGPAD, MVT::i64, Expand);
setOperationAction(ISD::EXCEPTIONADDR, MVT::i32, Expand);
setOperationAction(ISD::EHSELECTION, MVT::i32, Expand);
- setOperationAction(ISD::EHPERSONALITY, MVT::i32, Expand);
+ setOperationAction(ISD::EHLANDINGPAD, MVT::i32, Expand);
if (Subtarget->is64Bit()) {
setExceptionPointerRegister(X86::RAX);
More information about the llvm-branch-commits
mailing list