20#define DEBUG_TYPE "bpf-subtarget"
22#define GET_SUBTARGETINFO_TARGET_DESC
23#define GET_SUBTARGETINFO_CTOR
24#include "BPFGenSubtargetInfo.inc"
38 cl::desc(
"Disable BPF_ST (immediate store) insn"));
40void BPFSubtarget::anchor() {}
44 initializeEnvironment();
45 initSubtargetFeatures(CPU, FS);
50void BPFSubtarget::initializeEnvironment() {
66 if (CPU ==
"generic" || CPU ==
"v1")
95 FrameLowering(initializeSubtargetDependencies(CPU, FS)),
static cl::opt< bool > Disable_sdiv_smod("disable-sdiv-smod", cl::Hidden, cl::init(false), cl::desc("Disable sdiv/smod insns"))
static cl::opt< bool > Disable_ldsx("disable-ldsx", cl::Hidden, cl::init(false), cl::desc("Disable ldsx insns"))
static cl::opt< bool > Disable_gotol("disable-gotol", cl::Hidden, cl::init(false), cl::desc("Disable gotol insn"))
static cl::opt< bool > Disable_movsx("disable-movsx", cl::Hidden, cl::init(false), cl::desc("Disable movsx insns"))
static cl::opt< bool > Disable_StoreImm("disable-storeimm", cl::Hidden, cl::init(false), cl::desc("Disable BPF_ST (immediate store) insn"))
static cl::opt< bool > Disable_bswap("disable-bswap", cl::Hidden, cl::init(false), cl::desc("Disable bswap insns"))
const char LLVMTargetMachineRef TM
BPFSubtarget(const Triple &TT, const std::string &CPU, const std::string &FS, const TargetMachine &TM)
BPFSubtarget & initializeSubtargetDependencies(StringRef CPU, StringRef FS)
void ParseSubtargetFeatures(StringRef CPU, StringRef TuneCPU, StringRef FS)
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.
initializer< Ty > init(const Ty &Val)
StringRef getHostCPUNameForBPF()
This is an optimization pass for GlobalISel generic memory operations.