mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-09 13:33:17 +00:00
Add a dummy subtarget to the CPP backend target machine. This will
allow us to forward all of the standard TargetMachine calls to the subtarget and still return null as we were before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214727 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
977b978f93
commit
986a9fa1b9
@ -16,24 +16,30 @@
|
|||||||
|
|
||||||
#include "llvm/IR/DataLayout.h"
|
#include "llvm/IR/DataLayout.h"
|
||||||
#include "llvm/Target/TargetMachine.h"
|
#include "llvm/Target/TargetMachine.h"
|
||||||
|
#include "llvm/Target/TargetSubtargetInfo.h"
|
||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
|
|
||||||
class formatted_raw_ostream;
|
class formatted_raw_ostream;
|
||||||
|
|
||||||
|
class CPPSubtarget : public TargetSubtargetInfo {
|
||||||
|
};
|
||||||
|
|
||||||
struct CPPTargetMachine : public TargetMachine {
|
struct CPPTargetMachine : public TargetMachine {
|
||||||
CPPTargetMachine(const Target &T, StringRef TT,
|
CPPTargetMachine(const Target &T, StringRef TT,
|
||||||
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
StringRef CPU, StringRef FS, const TargetOptions &Options,
|
||||||
Reloc::Model RM, CodeModel::Model CM,
|
Reloc::Model RM, CodeModel::Model CM,
|
||||||
CodeGenOpt::Level OL)
|
CodeGenOpt::Level OL)
|
||||||
: TargetMachine(T, TT, CPU, FS, Options) {}
|
: TargetMachine(T, TT, CPU, FS, Options), Subtarget() {}
|
||||||
|
private:
|
||||||
|
CPPSubtarget Subtarget;
|
||||||
|
|
||||||
|
public:
|
||||||
|
const CPPSubtarget *getSubtargetImpl() const override { return &Subtarget; }
|
||||||
bool addPassesToEmitFile(PassManagerBase &PM, formatted_raw_ostream &Out,
|
bool addPassesToEmitFile(PassManagerBase &PM, formatted_raw_ostream &Out,
|
||||||
CodeGenFileType FileType, bool DisableVerify,
|
CodeGenFileType FileType, bool DisableVerify,
|
||||||
AnalysisID StartAfter,
|
AnalysisID StartAfter,
|
||||||
AnalysisID StopAfter) override;
|
AnalysisID StopAfter) override;
|
||||||
|
|
||||||
const DataLayout *getDataLayout() const override { return nullptr; }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extern Target TheCppBackendTarget;
|
extern Target TheCppBackendTarget;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user