diff options
author | Congcong Cai <congcongcai0907@163.com> | 2024-01-31 11:20:34 +0800 |
---|---|---|
committer | Congcong Cai <congcongcai0907@163.com> | 2024-01-31 11:20:34 +0800 |
commit | c43fda3efcbf5b16e611473cf03c88381237f50f (patch) | |
tree | 7bc0587c4400b8adcd11c8eb0b3d97cc9c42dd7e | |
parent | 1a17f2beb9cd1f5bbaa64502ab5c02ff74c199a4 (diff) | |
download | llvm-c43fda3efcbf5b16e611473cf03c88381237f50f.zip llvm-c43fda3efcbf5b16e611473cf03c88381237f50f.tar.gz llvm-c43fda3efcbf5b16e611473cf03c88381237f50f.tar.bz2 |
Revert "[WebAssembly] avoid to use explicit disabled feature"
This reverts commit 1a17f2beb9cd1f5bbaa64502ab5c02ff74c199a4.
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp | 10 | ||||
-rw-r--r-- | llvm/test/CodeGen/WebAssembly/disable-feature.ll | 22 |
2 files changed, 2 insertions, 30 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp index 0aadc6a..2db1b64 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp @@ -200,8 +200,7 @@ public: bool runOnModule(Module &M) override { FeatureBitset Features = coalesceFeatures(M); - std::string FeatureStr = - getFeatureString(Features, WasmTM->getTargetFeatureString()); + std::string FeatureStr = getFeatureString(Features); WasmTM->setTargetFeatureString(FeatureStr); for (auto &F : M) replaceFeatures(F, FeatureStr); @@ -239,17 +238,12 @@ private: return Features; } - static std::string getFeatureString(const FeatureBitset &Features, - StringRef TargetFS) { + std::string getFeatureString(const FeatureBitset &Features) { std::string Ret; for (const SubtargetFeatureKV &KV : WebAssemblyFeatureKV) { if (Features[KV.Value]) Ret += (StringRef("+") + KV.Key + ",").str(); } - SubtargetFeatures TF{TargetFS}; - for (std::string const &F : TF.getFeatures()) - if (!SubtargetFeatures::isEnabled(F)) - Ret += F; return Ret; } diff --git a/llvm/test/CodeGen/WebAssembly/disable-feature.ll b/llvm/test/CodeGen/WebAssembly/disable-feature.ll deleted file mode 100644 index a9b07e2..0000000 --- a/llvm/test/CodeGen/WebAssembly/disable-feature.ll +++ /dev/null @@ -1,22 +0,0 @@ -; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py -; RUN: llc < %s -mattr=-sign-ext | FileCheck %s - -target triple = "wasm32-unknown-unknown" - -define i8 @ashr(i8 %v, i8 %x) { -; CHECK-LABEL: ashr: -; CHECK: .functype ashr (i32, i32) -> (i32) -; CHECK-NEXT: # %bb.0: -; CHECK-NEXT: local.get 0 -; CHECK-NEXT: i32.const 24 -; CHECK-NEXT: i32.shl -; CHECK-NEXT: i32.const 24 -; CHECK-NEXT: i32.shr_s -; CHECK-NEXT: local.get 1 -; CHECK-NEXT: i32.const 255 -; CHECK-NEXT: i32.and -; CHECK-NEXT: i32.shr_s -; CHECK-NEXT: # fallthrough-return - %a = ashr i8 %v, %x - ret i8 %a -} |