13#ifndef LLVM_LIB_TARGET_LOONGARCH_LOONGARCHSUBTARGET_H
14#define LLVM_LIB_TARGET_LOONGARCH_LOONGARCHSUBTARGET_H
26#define GET_SUBTARGETINFO_HEADER
27#include "LoongArchGenSubtargetInfo.inc"
33 virtual void anchor();
36 bool HasBasicF =
false;
37 bool HasBasicD =
false;
38 bool HasExtLSX =
false;
39 bool HasExtLASX =
false;
40 bool HasExtLVZ =
false;
41 bool HasExtLBT =
false;
42 bool HasLaGlobalWithPcrel =
false;
43 bool HasLaGlobalWithAbs =
false;
44 bool HasLaLocalWithAbs =
false;
46 MVT GRLenVT = MVT::i32;
72 return &FrameLowering;
const char LLVMTargetMachineRef TM
const LoongArchRegisterInfo * getRegisterInfo() const override
const LoongArchTargetLowering * getTargetLowering() const override
bool hasLaLocalWithAbs() const
bool hasLaGlobalWithAbs() const
const SelectionDAGTargetInfo * getSelectionDAGInfo() const override
const LoongArchInstrInfo * getInstrInfo() const override
bool hasLaGlobalWithPcrel() const
void ParseSubtargetFeatures(StringRef CPU, StringRef TuneCPU, StringRef FS)
LoongArchABI::ABI getTargetABI() const
const LoongArchFrameLowering * getFrameLowering() const override
unsigned getGRLen() const
Targets can subclass this to parameterize the SelectionDAG lowering and instruction selection process...
StringRef - Represent a constant reference to a string, i.e.
Primary interface to the complete machine description for the target machine.
Triple - Helper class for working with autoconf configuration names.
This is an optimization pass for GlobalISel generic memory operations.