aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/SparcV9/SparcV9InstrInfo.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/Target/SparcV9/SparcV9InstrInfo.h b/lib/Target/SparcV9/SparcV9InstrInfo.h
index 4dd578c47b..dcc2e15181 100644
--- a/lib/Target/SparcV9/SparcV9InstrInfo.h
+++ b/lib/Target/SparcV9/SparcV9InstrInfo.h
@@ -1,4 +1,4 @@
-//===-- SparcV9InstrInfo.h - Define TargetInstrInfo for SparcV9 -----*- C++ -*-===//
+//===-- SparcV9InstrInfo.h - Define TargetInstrInfo for SparcV9 -*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -14,18 +14,27 @@
//
//===----------------------------------------------------------------------===//
-#ifndef SPARC_INSTRINFO_H
-#define SPARC_INSTRINFO_H
+#ifndef SPARCV9INSTRINFO_H
+#define SPARCV9INSTRINFO_H
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "SparcV9Internals.h"
+#include "SparcV9RegisterInfo.h"
namespace llvm {
struct SparcV9InstrInfo : public TargetInstrInfo {
+ const SparcV9RegisterInfo RI;
+public:
SparcV9InstrInfo();
+ /// getRegisterInfo - TargetInstrInfo is a superset of MRegister info. As
+ /// such, whenever a client has an instance of instruction info, it should
+ /// always be able to get register info as well (through this method).
+ ///
+ virtual const MRegisterInfo &getRegisterInfo() const { return RI; }
+
// All immediate constants are in position 1 except the
// store instructions and SETxx.
//