Optional<CodeModel::Model> CM,
CodeGenOpt::Level OL, bool JIT)
: LLVMTargetMachine(T, computeDataLayout(), TT, CPU, FS, Options,
- getEffectiveRelocModel(RM), *CM, OL),
- DefaultSubtarget(TT, CPU, FS, *this) {}
+ getEffectiveRelocModel(RM), *CM, OL) {}
Nios2TargetMachine::~Nios2TargetMachine() {}
return getTM<Nios2TargetMachine>();
}
- const Nios2Subtarget &getNios2Subtarget() const {
- return *getNios2TargetMachine().getSubtargetImpl();
- }
void addCodeGenPrepare() override;
void addIRPasses() override;
};
namespace llvm {
class Nios2TargetMachine : public LLVMTargetMachine {
- Nios2Subtarget DefaultSubtarget;
-
mutable StringMap<std::unique_ptr<Nios2Subtarget>> SubtargetMap;
public:
CodeGenOpt::Level OL, bool JIT);
~Nios2TargetMachine() override;
- const Nios2Subtarget *getSubtargetImpl() const { return &DefaultSubtarget; }
-
const Nios2Subtarget *getSubtargetImpl(const Function &F) const override;
// Pass Pipeline Configuration