diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Target/CSKY/CSKYTargetMachine.h')
-rw-r--r-- | contrib/llvm-project/llvm/lib/Target/CSKY/CSKYTargetMachine.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/Target/CSKY/CSKYTargetMachine.h b/contrib/llvm-project/llvm/lib/Target/CSKY/CSKYTargetMachine.h index d50e3877b550..ecb9fe953077 100644 --- a/contrib/llvm-project/llvm/lib/Target/CSKY/CSKYTargetMachine.h +++ b/contrib/llvm-project/llvm/lib/Target/CSKY/CSKYTargetMachine.h @@ -13,6 +13,7 @@ #ifndef LLVM_LIB_TARGET_CSKY_CSKYTARGETMACHINE_H #define LLVM_LIB_TARGET_CSKY_CSKYTARGETMACHINE_H +#include "CSKYSubtarget.h" #include "llvm/IR/DataLayout.h" #include "llvm/Target/TargetMachine.h" @@ -20,6 +21,7 @@ namespace llvm { class CSKYTargetMachine : public LLVMTargetMachine { std::unique_ptr<TargetLoweringObjectFile> TLOF; + mutable StringMap<std::unique_ptr<CSKYSubtarget>> SubtargetMap; public: CSKYTargetMachine(const Target &T, const Triple &TT, StringRef CPU, @@ -29,6 +31,12 @@ public: TargetPassConfig *createPassConfig(PassManagerBase &PM) override; + const CSKYSubtarget *getSubtargetImpl(const Function &F) const override; + // DO NOT IMPLEMENT: There is no such thing as a valid default subtarget, + // subtargets are per-function entities based on the target-specific + // attributes of each function. + const CSKYSubtarget *getSubtargetImpl() const = delete; + TargetLoweringObjectFile *getObjFileLowering() const override { return TLOF.get(); } |