diff options
Diffstat (limited to 'llvm/lib/Target/Nios2/Nios2TargetMachine.h')
| -rw-r--r-- | llvm/lib/Target/Nios2/Nios2TargetMachine.h | 16 |
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 |

