summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc
diff options
context:
space:
mode:
authorJim Laskey <jlaskey@mac.com>2007-02-21 22:54:50 +0000
committerJim Laskey <jlaskey@mac.com>2007-02-21 22:54:50 +0000
commit3796abea0f01e2db3050b950a090e69dd56dd008 (patch)
tree113ac206d64fcc722ae41da0857a0cf2eb2350d5 /llvm/lib/Target/Sparc
parent4b37a4c712b6c6e0df8083dce530aa06b77d2c66 (diff)
downloadbcm5719-llvm-3796abea0f01e2db3050b950a090e69dd56dd008.tar.gz
bcm5719-llvm-3796abea0f01e2db3050b950a090e69dd56dd008.zip
Support to provide exception and selector registers.
llvm-svn: 34482
Diffstat (limited to 'llvm/lib/Target/Sparc')
-rw-r--r--llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp3
-rw-r--r--llvm/lib/Target/Sparc/SparcRegisterInfo.cpp10
-rw-r--r--llvm/lib/Target/Sparc/SparcRegisterInfo.h4
3 files changed, 17 insertions, 0 deletions
diff --git a/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp b/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp
index 647007e86bf..59c7901ab4b 100644
--- a/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp
+++ b/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp
@@ -871,6 +871,9 @@ LowerOperation(SDOperand Op, SelectionDAG &DAG) {
// Frame & Return address. Currently unimplemented
case ISD::RETURNADDR: break;
case ISD::FRAMEADDR: break;
+ // Exception address and exception selector. Currently unimplemented.
+ case ISD::EXCEPTIONADDR: break;
+ case ISD::EHSELECTION: break;
}
return SDOperand();
}
diff --git a/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp b/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
index dab0b1037d1..4ea31e2e8e1 100644
--- a/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
+++ b/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
@@ -250,5 +250,15 @@ unsigned SparcRegisterInfo::getFrameRegister(MachineFunction &MF) const {
return SP::G1;
}
+unsigned SparcRegisterInfo::getEHExceptionRegister() const {
+ assert(0 && "What is the exception register");
+ return 0;
+}
+
+unsigned SparcRegisterInfo::getEHHandlerRegister() const {
+ assert(0 && "What is the exception handler register");
+ return 0;
+}
+
#include "SparcGenRegisterInfo.inc"
diff --git a/llvm/lib/Target/Sparc/SparcRegisterInfo.h b/llvm/lib/Target/Sparc/SparcRegisterInfo.h
index 763156a70c0..426cc664a4a 100644
--- a/llvm/lib/Target/Sparc/SparcRegisterInfo.h
+++ b/llvm/lib/Target/Sparc/SparcRegisterInfo.h
@@ -70,6 +70,10 @@ struct SparcRegisterInfo : public SparcGenRegisterInfo {
// Debug information queries.
unsigned getRARegister() const;
unsigned getFrameRegister(MachineFunction &MF) const;
+
+ // Exception handling queries.
+ unsigned getEHExceptionRegister() const;
+ unsigned getEHHandlerRegister() const;
};
} // end namespace llvm
OpenPOWER on IntegriCloud