13#ifndef LLVM_LIB_TARGET_LANAI_LANAISUBTARGET_H
14#define LLVM_LIB_TARGET_LANAI_LANAISUBTARGET_H
24#define OPTIONS_STRUCT_DECL
25#include "LanaiOptions.inc"
27#define GET_SUBTARGETINFO_HEADER
28#include "LanaiGenSubtargetInfo.inc"
31class LanaiTargetMachine;
42 const LanaiOptions &
getCLOpts()
const {
return CLOpts; }
57 return &FrameLowering;
61 return &InstrInfo.getRegisterInfo();
73 const LanaiOptions &CLOpts;
const LanaiOptions & getCLOpts() const
LanaiSubtarget(const Triple &TargetTriple, StringRef Cpu, StringRef FeatureString, const LanaiTargetMachine &TM, const TargetOptions &Options, CodeModel::Model CodeModel, CodeGenOptLevel OptLevel)
const LanaiRegisterInfo * getRegisterInfo() const override
const LanaiInstrInfo * getInstrInfo() const override
void ParseSubtargetFeatures(StringRef CPU, StringRef TuneCPU, StringRef FS)
const TargetFrameLowering * getFrameLowering() const override
const LanaiSelectionDAGInfo * getSelectionDAGInfo() const override
void initSubtargetFeatures(StringRef CPU, StringRef FS)
LanaiSubtarget & initializeSubtargetDependencies(StringRef CPU, StringRef FS)
bool enableMachineScheduler() const override
const LanaiTargetLowering * getTargetLowering() const override
Represent a constant reference to a string, i.e.
Information about stack frame layout on the target.
Triple - Helper class for working with autoconf configuration names.
This is an optimization pass for GlobalISel generic memory operations.
CodeGenOptLevel
Code generation optimization level.