summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CppBackend/CPPTargetMachine.h
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2014-08-04 16:40:55 +0000
committerEric Christopher <echristo@gmail.com>2014-08-04 16:40:55 +0000
commiteba9167e7b0e8dff6a772ffd7706731d1d73b7eb (patch)
tree48090953726cf3d551d1d35518f0a78d00833cb2 /llvm/lib/Target/CppBackend/CPPTargetMachine.h
parentb9dbbba6cb96881477070207a19e9c75016933ad (diff)
downloadbcm5719-llvm-eba9167e7b0e8dff6a772ffd7706731d1d73b7eb.tar.gz
bcm5719-llvm-eba9167e7b0e8dff6a772ffd7706731d1d73b7eb.zip
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. llvm-svn: 214727
Diffstat (limited to 'llvm/lib/Target/CppBackend/CPPTargetMachine.h')
-rw-r--r--llvm/lib/Target/CppBackend/CPPTargetMachine.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/llvm/lib/Target/CppBackend/CPPTargetMachine.h b/llvm/lib/Target/CppBackend/CPPTargetMachine.h
index 673ade78a94..2d58e528d7d 100644
--- a/llvm/lib/Target/CppBackend/CPPTargetMachine.h
+++ b/llvm/lib/Target/CppBackend/CPPTargetMachine.h
@@ -16,24 +16,30 @@
#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;
OpenPOWER on IntegriCloud