sbc100 updated this revision to Diff 256712. sbc100 marked 7 inline comments as done. sbc100 added a comment.
feedback Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77908/new/ https://reviews.llvm.org/D77908 Files: clang/lib/Basic/Targets/WebAssembly.cpp clang/lib/Basic/Targets/WebAssembly.h clang/test/Preprocessor/wasm-target-features.c lld/test/wasm/alias.ll lld/test/wasm/call-indirect.ll lld/test/wasm/cxx-mangling.ll lld/test/wasm/data-layout.ll lld/test/wasm/import-memory.test llvm/test/CodeGen/WebAssembly/multivalue.ll
Index: llvm/test/CodeGen/WebAssembly/multivalue.ll =================================================================== --- llvm/test/CodeGen/WebAssembly/multivalue.ll +++ llvm/test/CodeGen/WebAssembly/multivalue.ll @@ -1,5 +1,5 @@ -; RUN: llc < %s -asm-verbose=false -verify-machineinstrs -mattr=+multivalue,+tail-call | FileCheck %s -; RUN: llc < %s -asm-verbose=false -verify-machineinstrs -disable-wasm-fallthrough-return-opt -wasm-disable-explicit-locals -wasm-keep-registers -mattr=+multivalue,+tail-call | FileCheck %s --check-prefix REGS +; RUN: llc < %s -asm-verbose=false -verify-machineinstrs -mcpu=mvp -mattr=+multivalue,+tail-call | FileCheck %s +; RUN: llc < %s -asm-verbose=false -verify-machineinstrs -mcpu=mvp -disable-wasm-fallthrough-return-opt -wasm-disable-explicit-locals -wasm-keep-registers -mattr=+multivalue,+tail-call | FileCheck %s --check-prefix REGS ; RUN: llc < %s --filetype=obj -mattr=+multivalue,+tail-call | obj2yaml | FileCheck %s --check-prefix OBJ ; Test that the multivalue calls, returns, function types, and block @@ -249,14 +249,11 @@ } ; CHECK-LABEL: .section .custom_section.target_features -; CHECK-NEXT: .int8 3 +; CHECK-NEXT: .int8 2 ; CHECK-NEXT: .int8 43 ; CHECK-NEXT: .int8 10 ; CHECK-NEXT: .ascii "multivalue" ; CHECK-NEXT: .int8 43 -; CHECK-NEXT: .int8 19 -; CHECK-NEXT: .ascii "nontrapping-fptoint" -; CHECK-NEXT: .int8 43 ; CHECK-NEXT: .int8 9 ; CHECK-NEXT: .ascii "tail-call" Index: lld/test/wasm/import-memory.test =================================================================== --- lld/test/wasm/import-memory.test +++ lld/test/wasm/import-memory.test @@ -1,4 +1,4 @@ -# RUN: llc -filetype=obj %p/Inputs/start.ll -o %t.start.o +# RUN: llc -mcpu=mvp -filetype=obj %p/Inputs/start.ll -o %t.start.o # RUN: wasm-ld --import-memory -o %t.wasm %t.start.o # RUN: obj2yaml %t.wasm | FileCheck %s @@ -32,8 +32,7 @@ # CHECK-MAX-NEXT: Maximum: 0x00000005 # CHECK-MAX-NEXT: - Type: -# RUN: wasm-ld --import-memory --shared-memory \ -# RUN: --features=nontrapping-fptoint,atomics,bulk-memory \ +# RUN: wasm-ld --import-memory --shared-memory --features=atomics,bulk-memory \ # RUN: --initial-memory=262144 --max-memory=327680 -o %t.max.wasm %t.start.o # RUN: obj2yaml %t.max.wasm | FileCheck -check-prefix=CHECK-SHARED %s Index: lld/test/wasm/data-layout.ll =================================================================== --- lld/test/wasm/data-layout.ll +++ lld/test/wasm/data-layout.ll @@ -1,5 +1,5 @@ -; RUN: llc -filetype=obj %p/Inputs/hello.ll -o %t.hello.o -; RUN: llc -filetype=obj %s -o %t.o +; RUN: llc -mcpu=mvp -filetype=obj %p/Inputs/hello.ll -o %t.hello.o +; RUN: llc -mcpu=mvp -filetype=obj %s -o %t.o target triple = "wasm32-unknown-unknown" @@ -69,7 +69,7 @@ ; CHECK-MAX-NEXT: Maximum: 0x00000002 ; RUN: wasm-ld -no-gc-sections --allow-undefined --no-entry --shared-memory \ -; RUN: --features=atomics,bulk-memory,nontrapping-fptoint --initial-memory=131072 \ +; RUN: --features=atomics,bulk-memory --initial-memory=131072 \ ; RUN: --max-memory=131072 -o %t_max.wasm %t.o %t.hello.o ; RUN: obj2yaml %t_max.wasm | FileCheck %s -check-prefix=CHECK-SHARED Index: lld/test/wasm/cxx-mangling.ll =================================================================== --- lld/test/wasm/cxx-mangling.ll +++ lld/test/wasm/cxx-mangling.ll @@ -54,3 +54,5 @@ ; MANGLE-NEXT: Name: _Z3fooi ; CHECK-NEXT: - Index: 2 ; CHECK-NEXT: Name: _start +; CHECK-NEXT: - Type: CUSTOM +; CHECK-NEXT: Name: target_features Index: lld/test/wasm/call-indirect.ll =================================================================== --- lld/test/wasm/call-indirect.ll +++ lld/test/wasm/call-indirect.ll @@ -154,3 +154,5 @@ ; CHECK-NEXT: Name: _start ; CHECK-NEXT: - Index: 4 ; CHECK-NEXT: Name: call_ptr +; CHECK-NEXT: - Type: CUSTOM +; CHECK-NEXT: Name: target_features Index: lld/test/wasm/alias.ll =================================================================== --- lld/test/wasm/alias.ll +++ lld/test/wasm/alias.ll @@ -62,3 +62,5 @@ ; CHECK-NEXT: FunctionNames: ; CHECK-NEXT: - Index: 0 ; CHECK-NEXT: Name: _start +; CHECK-NEXT: - Type: CUSTOM +; CHECK-NEXT: Name: target_features Index: clang/test/Preprocessor/wasm-target-features.c =================================================================== --- clang/test/Preprocessor/wasm-target-features.c +++ clang/test/Preprocessor/wasm-target-features.c @@ -7,8 +7,6 @@ // DEFAULT:#define __wasm_nontrapping_fptoint__ 1{{$}} -// NONTRAPPING-FPTOINT:#define __wasm_nontrapping_fptoint__ 1{{$}} - // RUN: %clang -E -dM %s -o - 2>&1 \ // RUN: -target wasm32-unknown-unknown -msimd128 \ // RUN: | FileCheck %s -check-prefix=SIMD128 Index: clang/lib/Basic/Targets/WebAssembly.h =================================================================== --- clang/lib/Basic/Targets/WebAssembly.h +++ clang/lib/Basic/Targets/WebAssembly.h @@ -30,7 +30,7 @@ UnimplementedSIMD128, } SIMDLevel = NoSIMD; - bool HasNontrappingFPToInt = true; + bool HasNontrappingFPToInt = false; bool HasSignExt = false; bool HasExceptionHandling = false; bool HasBulkMemory = false; Index: clang/lib/Basic/Targets/WebAssembly.cpp =================================================================== --- clang/lib/Basic/Targets/WebAssembly.cpp +++ clang/lib/Basic/Targets/WebAssembly.cpp @@ -112,11 +112,12 @@ bool WebAssemblyTargetInfo::initFeatureMap( llvm::StringMap<bool> &Features, DiagnosticsEngine &Diags, StringRef CPU, const std::vector<std::string> &FeaturesVec) const { - if (CPU == "mvp") { - Features["nontrapping-fptoint"] = false; + if (CPU == "generic") { + Features["nontrapping-fptoint"] = true; } if (CPU == "bleeding-edge") { + Features["nontrapping-fptoint"] = true; Features["sign-ext"] = true; Features["bulk-memory"] = true; Features["atomics"] = true; @@ -129,8 +130,8 @@ // are actively developing new features it is useful to let user-configured // features control availability of builtins setSIMDLevel(Features, SIMDLevel); - if (!HasNontrappingFPToInt) - Features["nontrapping-fptoint"] = false; + if (HasNontrappingFPToInt) + Features["nontrapping-fptoint"] = true; if (HasSignExt) Features["sign-ext"] = true; if (HasExceptionHandling)
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits