mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Move AArch64InstrInfo to AArch64Subtarget.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210599 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
468a0ce16f
commit
159e408563
@ -44,7 +44,7 @@ AArch64Subtarget::AArch64Subtarget(const std::string &TT,
|
|||||||
? "e-m:o-i64:64-i128:128-n32:64-S128"
|
? "e-m:o-i64:64-i128:128-n32:64-S128"
|
||||||
: (LittleEndian ? "e-m:e-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")),
|
: "E-m:e-i64:64-i128:128-n32:64-S128")),
|
||||||
FrameLowering(), TSInfo(&DL) {
|
FrameLowering(), InstrInfo(*this), TSInfo(&DL) {
|
||||||
// Determine default and user-specified characteristics
|
// Determine default and user-specified characteristics
|
||||||
|
|
||||||
if (CPUString.empty())
|
if (CPUString.empty())
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
#ifndef AArch64SUBTARGET_H
|
#ifndef AArch64SUBTARGET_H
|
||||||
#define AArch64SUBTARGET_H
|
#define AArch64SUBTARGET_H
|
||||||
|
|
||||||
|
#include "AArch64InstrInfo.h"
|
||||||
#include "AArch64FrameLowering.h"
|
#include "AArch64FrameLowering.h"
|
||||||
#include "AArch64RegisterInfo.h"
|
#include "AArch64RegisterInfo.h"
|
||||||
#include "AArch64SelectionDAGInfo.h"
|
#include "AArch64SelectionDAGInfo.h"
|
||||||
@ -54,6 +55,7 @@ protected:
|
|||||||
|
|
||||||
const DataLayout DL;
|
const DataLayout DL;
|
||||||
AArch64FrameLowering FrameLowering;
|
AArch64FrameLowering FrameLowering;
|
||||||
|
AArch64InstrInfo InstrInfo;
|
||||||
AArch64SelectionDAGInfo TSInfo;
|
AArch64SelectionDAGInfo TSInfo;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -66,6 +68,7 @@ public:
|
|||||||
const AArch64FrameLowering *getFrameLowering() const {
|
const AArch64FrameLowering *getFrameLowering() const {
|
||||||
return &FrameLowering;
|
return &FrameLowering;
|
||||||
}
|
}
|
||||||
|
const AArch64InstrInfo *getInstrInfo() const { return &InstrInfo; }
|
||||||
const DataLayout *getDataLayout() const { return &DL; }
|
const DataLayout *getDataLayout() const { return &DL; }
|
||||||
bool enableMachineScheduler() const override { return true; }
|
bool enableMachineScheduler() const override { return true; }
|
||||||
|
|
||||||
|
@ -77,8 +77,7 @@ AArch64TargetMachine::AArch64TargetMachine(const Target &T, StringRef TT,
|
|||||||
CodeGenOpt::Level OL,
|
CodeGenOpt::Level OL,
|
||||||
bool LittleEndian)
|
bool LittleEndian)
|
||||||
: LLVMTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL),
|
: LLVMTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL),
|
||||||
Subtarget(TT, CPU, FS, LittleEndian),
|
Subtarget(TT, CPU, FS, LittleEndian), TLInfo(*this) {
|
||||||
InstrInfo(Subtarget), TLInfo(*this) {
|
|
||||||
initAsmInfo();
|
initAsmInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,7 +30,6 @@ protected:
|
|||||||
AArch64Subtarget Subtarget;
|
AArch64Subtarget Subtarget;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
AArch64InstrInfo InstrInfo;
|
|
||||||
AArch64TargetLowering TLInfo;
|
AArch64TargetLowering TLInfo;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -51,9 +50,11 @@ public:
|
|||||||
const AArch64FrameLowering *getFrameLowering() const override {
|
const AArch64FrameLowering *getFrameLowering() const override {
|
||||||
return getSubtargetImpl()->getFrameLowering();
|
return getSubtargetImpl()->getFrameLowering();
|
||||||
}
|
}
|
||||||
const AArch64InstrInfo *getInstrInfo() const override { return &InstrInfo; }
|
const AArch64InstrInfo *getInstrInfo() const override {
|
||||||
|
return getSubtargetImpl()->getInstrInfo();
|
||||||
|
}
|
||||||
const AArch64RegisterInfo *getRegisterInfo() const override {
|
const AArch64RegisterInfo *getRegisterInfo() const override {
|
||||||
return &InstrInfo.getRegisterInfo();
|
return &getInstrInfo()->getRegisterInfo();
|
||||||
}
|
}
|
||||||
const AArch64SelectionDAGInfo *getSelectionDAGInfo() const override {
|
const AArch64SelectionDAGInfo *getSelectionDAGInfo() const override {
|
||||||
return getSubtargetImpl()->getSelectionDAGInfo();
|
return getSubtargetImpl()->getSelectionDAGInfo();
|
||||||
|
Loading…
Reference in New Issue
Block a user