summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2014-06-10 22:57:25 +0000
committerEric Christopher <echristo@gmail.com>2014-06-10 22:57:25 +0000
commit159e4085639ae5f58eaa4046189ec2b2a41bd9bb (patch)
tree38669484438c30fa8a7a1a94c02919fe080476ba /lib
parent468a0ce16f107ecb3fd97dc7a4cb33bcc1782426 (diff)
downloadllvm-159e4085639ae5f58eaa4046189ec2b2a41bd9bb.tar.gz
llvm-159e4085639ae5f58eaa4046189ec2b2a41bd9bb.tar.bz2
llvm-159e4085639ae5f58eaa4046189ec2b2a41bd9bb.tar.xz
Move AArch64InstrInfo to AArch64Subtarget.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210599 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/AArch64/AArch64Subtarget.cpp2
-rw-r--r--lib/Target/AArch64/AArch64Subtarget.h3
-rw-r--r--lib/Target/AArch64/AArch64TargetMachine.cpp3
-rw-r--r--lib/Target/AArch64/AArch64TargetMachine.h7
4 files changed, 9 insertions, 6 deletions
diff --git a/lib/Target/AArch64/AArch64Subtarget.cpp b/lib/Target/AArch64/AArch64Subtarget.cpp
index 8be1f66d05..f01a70b65c 100644
--- a/lib/Target/AArch64/AArch64Subtarget.cpp
+++ b/lib/Target/AArch64/AArch64Subtarget.cpp
@@ -44,7 +44,7 @@ AArch64Subtarget::AArch64Subtarget(const std::string &TT,
? "e-m:o-i64:64-i128:128-n32:64-S128"
: (LittleEndian ? "e-m:e-i64:64-i128:128-n32:64-S128"
: "E-m:e-i64:64-i128:128-n32:64-S128")),
- FrameLowering(), TSInfo(&DL) {
+ FrameLowering(), InstrInfo(*this), TSInfo(&DL) {
// Determine default and user-specified characteristics
if (CPUString.empty())
diff --git a/lib/Target/AArch64/AArch64Subtarget.h b/lib/Target/AArch64/AArch64Subtarget.h
index cfb126ebf1..d8930706cf 100644
--- a/lib/Target/AArch64/AArch64Subtarget.h
+++ b/lib/Target/AArch64/AArch64Subtarget.h
@@ -14,6 +14,7 @@
#ifndef AArch64SUBTARGET_H
#define AArch64SUBTARGET_H
+#include "AArch64InstrInfo.h"
#include "AArch64FrameLowering.h"
#include "AArch64RegisterInfo.h"
#include "AArch64SelectionDAGInfo.h"
@@ -54,6 +55,7 @@ protected:
const DataLayout DL;
AArch64FrameLowering FrameLowering;
+ AArch64InstrInfo InstrInfo;
AArch64SelectionDAGInfo TSInfo;
public:
@@ -66,6 +68,7 @@ public:
const AArch64FrameLowering *getFrameLowering() const {
return &FrameLowering;
}
+ const AArch64InstrInfo *getInstrInfo() const { return &InstrInfo; }
const DataLayout *getDataLayout() const { return &DL; }
bool enableMachineScheduler() const override { return true; }
diff --git a/lib/Target/AArch64/AArch64TargetMachine.cpp b/lib/Target/AArch64/AArch64TargetMachine.cpp
index 7f00df4910..7a8d0e79d4 100644
--- a/lib/Target/AArch64/AArch64TargetMachine.cpp
+++ b/lib/Target/AArch64/AArch64TargetMachine.cpp
@@ -77,8 +77,7 @@ AArch64TargetMachine::AArch64TargetMachine(const Target &T, StringRef TT,
CodeGenOpt::Level OL,
bool LittleEndian)
: LLVMTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL),
- Subtarget(TT, CPU, FS, LittleEndian),
- InstrInfo(Subtarget), TLInfo(*this) {
+ Subtarget(TT, CPU, FS, LittleEndian), TLInfo(*this) {
initAsmInfo();
}
diff --git a/lib/Target/AArch64/AArch64TargetMachine.h b/lib/Target/AArch64/AArch64TargetMachine.h
index 417354010d..937c17ffd1 100644
--- a/lib/Target/AArch64/AArch64TargetMachine.h
+++ b/lib/Target/AArch64/AArch64TargetMachine.h
@@ -30,7 +30,6 @@ protected:
AArch64Subtarget Subtarget;
private:
- AArch64InstrInfo InstrInfo;
AArch64TargetLowering TLInfo;
public:
@@ -51,9 +50,11 @@ public:
const AArch64FrameLowering *getFrameLowering() const override {
return getSubtargetImpl()->getFrameLowering();
}
- const AArch64InstrInfo *getInstrInfo() const override { return &InstrInfo; }
+ const AArch64InstrInfo *getInstrInfo() const override {
+ return getSubtargetImpl()->getInstrInfo();
+ }
const AArch64RegisterInfo *getRegisterInfo() const override {
- return &InstrInfo.getRegisterInfo();
+ return &getInstrInfo()->getRegisterInfo();
}
const AArch64SelectionDAGInfo *getSelectionDAGInfo() const override {
return getSubtargetImpl()->getSelectionDAGInfo();