summaryrefslogtreecommitdiff
path: root/lib/Target/BPF/BPFSubtarget.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/BPF/BPFSubtarget.h')
-rw-r--r--lib/Target/BPF/BPFSubtarget.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/Target/BPF/BPFSubtarget.h b/lib/Target/BPF/BPFSubtarget.h
index 27cc9a262fc3..fa1f24443bc3 100644
--- a/lib/Target/BPF/BPFSubtarget.h
+++ b/lib/Target/BPF/BPFSubtarget.h
@@ -18,9 +18,9 @@
#include "BPFISelLowering.h"
#include "BPFInstrInfo.h"
#include "llvm/CodeGen/SelectionDAGTargetInfo.h"
+#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/Target/TargetMachine.h"
-#include "llvm/Target/TargetSubtargetInfo.h"
#define GET_SUBTARGETINFO_HEADER
#include "BPFGenSubtargetInfo.inc"
@@ -35,15 +35,30 @@ class BPFSubtarget : public BPFGenSubtargetInfo {
BPFTargetLowering TLInfo;
SelectionDAGTargetInfo TSInfo;
+private:
+ void initializeEnvironment();
+ void initSubtargetFeatures(StringRef CPU, StringRef FS);
+ bool probeJmpExt();
+
+protected:
+ // unused
+ bool isDummyMode;
+
+ // whether the cpu supports jmp ext
+ bool HasJmpExt;
+
public:
// This constructor initializes the data members to match that
// of the specified triple.
BPFSubtarget(const Triple &TT, const std::string &CPU, const std::string &FS,
const TargetMachine &TM);
+ BPFSubtarget &initializeSubtargetDependencies(StringRef CPU, StringRef FS);
+
// ParseSubtargetFeatures - Parses features string setting specified
// subtarget options. Definition of function is auto generated by tblgen.
void ParseSubtargetFeatures(StringRef CPU, StringRef FS);
+ bool getHasJmpExt() const { return HasJmpExt; }
const BPFInstrInfo *getInstrInfo() const override { return &InstrInfo; }
const BPFFrameLowering *getFrameLowering() const override {