From: Yonghong Song Date: Fri, 23 Feb 2018 23:55:29 +0000 (+0000) Subject: bpf: Hook target feature "alu32" with LLVM X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=99a4322ebea46bc626a7b3b8b92dd00a73ca1dcd;p=clang bpf: Hook target feature "alu32" with LLVM LLVM has supported a new target feature "alu32" which could be enabled or disabled by "-mattr=[+|-]alu32" when using llc. This patch link Clang with it, so it could be also done by passing related options to Clang, for example: -Xclang -target-feature -Xclang +alu32 Signed-off-by: Jiong Wang Reviewed-by: Yonghong Song git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@325996 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Basic/Targets/BPF.h b/lib/Basic/Targets/BPF.h index 836e47554b..36d2da4dbf 100644 --- a/lib/Basic/Targets/BPF.h +++ b/lib/Basic/Targets/BPF.h @@ -46,7 +46,14 @@ public: void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override; - bool hasFeature(StringRef Feature) const override { return Feature == "bpf"; } + bool hasFeature(StringRef Feature) const override { + return Feature == "bpf" || Feature == "alu32"; + } + + void setFeatureEnabled(llvm::StringMap &Features, StringRef Name, + bool Enabled) const override { + Features[Name] = Enabled; + } ArrayRef getTargetBuiltins() const override { return None; }