summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Nios2/Nios2TargetMachine.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/Nios2/Nios2TargetMachine.h')
-rw-r--r--llvm/lib/Target/Nios2/Nios2TargetMachine.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/llvm/lib/Target/Nios2/Nios2TargetMachine.h b/llvm/lib/Target/Nios2/Nios2TargetMachine.h
index 7f145c82f32..2cf8a10c57e 100644
--- a/llvm/lib/Target/Nios2/Nios2TargetMachine.h
+++ b/llvm/lib/Target/Nios2/Nios2TargetMachine.h
@@ -14,16 +14,28 @@
#ifndef LLVM_LIB_TARGET_NIOS2_NIOS2TARGETMACHINE_H
#define LLVM_LIB_TARGET_NIOS2_NIOS2TARGETMACHINE_H
+#include "Nios2Subtarget.h"
#include "llvm/Target/TargetMachine.h"
namespace llvm {
class Nios2TargetMachine : public LLVMTargetMachine {
+ Nios2Subtarget DefaultSubtarget;
+
+ mutable StringMap<std::unique_ptr<Nios2Subtarget>> SubtargetMap;
+
public:
Nios2TargetMachine(const Target &T, const Triple &TT, StringRef CPU,
StringRef FS, const TargetOptions &Options,
- Optional<Reloc::Model> RM, CodeModel::Model CM,
- CodeGenOpt::Level OL);
+ Optional<Reloc::Model> RM, Optional<CodeModel::Model> CM,
+ CodeGenOpt::Level OL, bool JIT);
~Nios2TargetMachine() override;
+
+ const Nios2Subtarget *getSubtargetImpl() const { return &DefaultSubtarget; }
+
+ const Nios2Subtarget *getSubtargetImpl(const Function &F) const override;
+
+ // Pass Pipeline Configuration
+ TargetPassConfig *createPassConfig(PassManagerBase &PM) override;
};
} // namespace llvm
OpenPOWER on IntegriCloud