diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2015-01-18 16:17:27 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2015-01-18 16:17:27 +0000 |
commit | 67c32a98315f785a9ec9d531c1f571a0196c7463 (patch) | |
tree | 4abb9cbeecc7901726dd0b4a37369596c852e9ef /lib/Target/CppBackend/CPPTargetMachine.h | |
parent | 9f61947910e6ab40de38e6b4034751ef1513200f (diff) |
Diffstat (limited to 'lib/Target/CppBackend/CPPTargetMachine.h')
-rw-r--r-- | lib/Target/CppBackend/CPPTargetMachine.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/lib/Target/CppBackend/CPPTargetMachine.h b/lib/Target/CppBackend/CPPTargetMachine.h index 673ade78a947..4bae7f817543 100644 --- a/lib/Target/CppBackend/CPPTargetMachine.h +++ b/lib/Target/CppBackend/CPPTargetMachine.h @@ -11,29 +11,35 @@ // //===----------------------------------------------------------------------===// -#ifndef CPPTARGETMACHINE_H -#define CPPTARGETMACHINE_H +#ifndef LLVM_LIB_TARGET_CPPBACKEND_CPPTARGETMACHINE_H +#define LLVM_LIB_TARGET_CPPBACKEND_CPPTARGETMACHINE_H #include "llvm/IR/DataLayout.h" #include "llvm/Target/TargetMachine.h" +#include "llvm/Target/TargetSubtargetInfo.h" namespace llvm { class formatted_raw_ostream; +class CPPSubtarget : public TargetSubtargetInfo { +}; + struct CPPTargetMachine : public TargetMachine { CPPTargetMachine(const Target &T, StringRef TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, 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, CodeGenFileType FileType, bool DisableVerify, AnalysisID StartAfter, AnalysisID StopAfter) override; - - const DataLayout *getDataLayout() const override { return nullptr; } }; extern Target TheCppBackendTarget; |