[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

Duncan Sands baldrick at free.fr
Sat Jun 2 11:54:13 CDT 2007



Changes in directory llvm/lib/CodeGen/SelectionDAG:

SelectionDAGISel.cpp updated: 1.455 -> 1.456
---
Log message:

Integrate exception filter support and exception catch support.  This
simplifies the code in DwarfWriter, allows for multiple filters and
makes it trivial to specify filters accompanied by cleanups or catch-all
specifications (see next patch).  What a deal!  Patch blessed by Anton.


---
Diffs of the changes:  (+4 -3)

 SelectionDAGISel.cpp |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)


Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.455 llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.456
--- llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.455	Fri Jun  1 03:18:30 2007
+++ llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp	Sat Jun  2 11:53:42 2007
@@ -2611,8 +2611,6 @@
              isa<Function>(CE->getOperand(0)) &&
              "Personality should be a function");
       MMI->addPersonality(CurMBB, cast<Function>(CE->getOperand(0)));
-      if (Intrinsic == Intrinsic::eh_filter)
-        MMI->setIsFilterLandingPad(CurMBB);
 
       // Gather all the type infos for this landing pad and pass them along to
       // MachineModuleInfo.
@@ -2624,7 +2622,10 @@
                 "TypeInfo must be a global variable or NULL");
         TyInfo.push_back(GV);
       }
-      MMI->addCatchTypeInfo(CurMBB, TyInfo);
+      if (Intrinsic == Intrinsic::eh_filter)
+        MMI->addFilterTypeInfo(CurMBB, TyInfo);
+      else
+        MMI->addCatchTypeInfo(CurMBB, TyInfo);
       
       // Mark exception selector register as live in.
       unsigned Reg = TLI.getExceptionSelectorRegister();






More information about the llvm-commits mailing list