[llvm-commits] CVS: llvm/lib/Target/X86/X86ISelLowering.cpp X86RegisterInfo.cpp X86RegisterInfo.h

Jim Laskey jlaskey at apple.com
Wed Feb 21 14:55:22 PST 2007



Changes in directory llvm/lib/Target/X86:

X86ISelLowering.cpp updated: 1.321 -> 1.322
X86RegisterInfo.cpp updated: 1.203 -> 1.204
X86RegisterInfo.h updated: 1.48 -> 1.49
---
Log message:

Support to provide exception and selector registers.

---
Diffs of the changes:  (+18 -0)

 X86ISelLowering.cpp |    4 ++++
 X86RegisterInfo.cpp |   10 ++++++++++
 X86RegisterInfo.h   |    4 ++++
 3 files changed, 18 insertions(+)


Index: llvm/lib/Target/X86/X86ISelLowering.cpp
diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.321 llvm/lib/Target/X86/X86ISelLowering.cpp:1.322
--- llvm/lib/Target/X86/X86ISelLowering.cpp:1.321	Wed Feb 21 15:18:14 2007
+++ llvm/lib/Target/X86/X86ISelLowering.cpp	Wed Feb 21 16:54:50 2007
@@ -4675,7 +4675,11 @@
   case ISD::INTRINSIC_WO_CHAIN: return LowerINTRINSIC_WO_CHAIN(Op, DAG);
   case ISD::RETURNADDR:         return LowerRETURNADDR(Op, DAG);
   case ISD::FRAMEADDR:          return LowerFRAMEADDR(Op, DAG);
+  // Exception address and exception selector.  Currently unimplemented.
+  case ISD::EXCEPTIONADDR: break;
+  case ISD::EHSELECTION:   break;
   }
+  return SDOperand();
 }
 
 const char *X86TargetLowering::getTargetNodeName(unsigned Opcode) const {


Index: llvm/lib/Target/X86/X86RegisterInfo.cpp
diff -u llvm/lib/Target/X86/X86RegisterInfo.cpp:1.203 llvm/lib/Target/X86/X86RegisterInfo.cpp:1.204
--- llvm/lib/Target/X86/X86RegisterInfo.cpp:1.203	Mon Feb 19 15:49:54 2007
+++ llvm/lib/Target/X86/X86RegisterInfo.cpp	Wed Feb 21 16:54:50 2007
@@ -1193,6 +1193,16 @@
   Moves.push_back(MachineMove(0, Dst, Src));
 }
 
+unsigned X86RegisterInfo::getEHExceptionRegister() const {
+  assert(0 && "What is the exception register");
+  return 0;
+}
+
+unsigned X86RegisterInfo::getEHHandlerRegister() const {
+  assert(0 && "What is the exception handler register");
+  return 0;
+}
+
 namespace llvm {
 unsigned getX86SubSuperRegister(unsigned Reg, MVT::ValueType VT, bool High) {
   switch (VT) {


Index: llvm/lib/Target/X86/X86RegisterInfo.h
diff -u llvm/lib/Target/X86/X86RegisterInfo.h:1.48 llvm/lib/Target/X86/X86RegisterInfo.h:1.49
--- llvm/lib/Target/X86/X86RegisterInfo.h:1.48	Mon Feb 19 15:49:54 2007
+++ llvm/lib/Target/X86/X86RegisterInfo.h	Wed Feb 21 16:54:50 2007
@@ -101,6 +101,10 @@
   unsigned getRARegister() const;
   unsigned getFrameRegister(MachineFunction &MF) const;
   void getInitialFrameState(std::vector<MachineMove> &Moves) const;
+
+  // Exception handling queries.
+  unsigned getEHExceptionRegister() const;
+  unsigned getEHHandlerRegister() const;
 };
 
 // getX86SubSuperRegister - X86 utility function. It returns the sub or super






More information about the llvm-commits mailing list