This revision was automatically updated to reflect the committed changes. Closed by commit rG65eb11306e92: [WebAssembly] Update bleeding-edge CPU features (authored by aheejin).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D73322/new/ https://reviews.llvm.org/D73322 Files: clang/lib/Basic/Targets/WebAssembly.cpp clang/test/Preprocessor/wasm-target-features.c llvm/lib/Target/WebAssembly/WebAssembly.td llvm/test/CodeGen/WebAssembly/target-features.ll Index: llvm/test/CodeGen/WebAssembly/target-features.ll =================================================================== --- llvm/test/CodeGen/WebAssembly/target-features.ll +++ llvm/test/CodeGen/WebAssembly/target-features.ll @@ -83,13 +83,16 @@ ; SIMD128-NEXT: .int8 7 ; SIMD128-NEXT: .ascii "simd128" -; +atomics, +mutable-globals, +nontrapping-fptoint, +reference-types, +sign-ext, -; +simd128 -; BLEEDING-EDGE-NEXT: .int8 6 +; +atomics, +bulk-memory, +mutable-globals, +nontrapping-fptoint, +; +reference-types, +sign-ext, +simd128, +tail-call +; BLEEDING-EDGE-NEXT: .int8 8 ; BLEEDING-EDGE-NEXT: .int8 43 ; BLEEDING-EDGE-NEXT: .int8 7 ; BLEEDING-EDGE-NEXT: .ascii "atomics" ; BLEEDING-EDGE-NEXT: .int8 43 +; BLEEDING-EDGE-NEXT: .int8 11 +; BLEEDING-EDGE-NEXT: .ascii "bulk-memory" +; BLEEDING-EDGE-NEXT: .int8 43 ; BLEEDING-EDGE-NEXT: .int8 15 ; BLEEDING-EDGE-NEXT: .ascii "mutable-globals" ; BLEEDING-EDGE-NEXT: .int8 43 @@ -104,5 +107,8 @@ ; BLEEDING-EDGE-NEXT: .int8 43 ; BLEEDING-EDGE-NEXT: .int8 7 ; BLEEDING-EDGE-NEXT: .ascii "simd128" +; BLEEDING-EDGE-NEXT: .int8 43 +; BLEEDING-EDGE-NEXT: .int8 9 +; BLEEDING-EDGE-NEXT: .ascii "tail-call" ; CHECK-NEXT: .text Index: llvm/lib/Target/WebAssembly/WebAssembly.td =================================================================== --- llvm/lib/Target/WebAssembly/WebAssembly.td +++ llvm/lib/Target/WebAssembly/WebAssembly.td @@ -102,7 +102,8 @@ def : ProcessorModel<"bleeding-edge", NoSchedModel, [FeatureSIMD128, FeatureAtomics, FeatureNontrappingFPToInt, FeatureSignExt, - FeatureMutableGlobals]>; + FeatureMutableGlobals, FeatureBulkMemory, + FeatureTailCall]>; //===----------------------------------------------------------------------===// // Target Declaration Index: clang/test/Preprocessor/wasm-target-features.c =================================================================== --- clang/test/Preprocessor/wasm-target-features.c +++ clang/test/Preprocessor/wasm-target-features.c @@ -134,12 +134,14 @@ // // BLEEDING-EDGE-DAG:#define __wasm_nontrapping_fptoint__ 1{{$}} // BLEEDING-EDGE-DAG:#define __wasm_sign_ext__ 1{{$}} +// BLEEDING-EDGE-DAG:#define __wasm_bulk_memory__ 1{{$}} // BLEEDING-EDGE-DAG:#define __wasm_simd128__ 1{{$}} // BLEEDING-EDGE-DAG:#define __wasm_atomics__ 1{{$}} // BLEEDING-EDGE-DAG:#define __wasm_mutable_globals__ 1{{$}} +// BLEEDING-EDGE-DAG:#define __wasm_tail_call__ 1{{$}} // BLEEDING-EDGE-NOT:#define __wasm_unimplemented_simd128__ 1{{$}} +// BLEEDING-EDGE-NOT:#define __wasm_exception_handling__ 1{{$}} // BLEEDING-EDGE-NOT:#define __wasm_multivalue__ 1{{$}} -// BLEEDING-EDGE-NOT:#define __wasm_tail_call__ 1{{$}} // BLEEDING-EDGE-NOT:#define __wasm_reference_types__ 1{{$}} // RUN: %clang -E -dM %s -o - 2>&1 \ Index: clang/lib/Basic/Targets/WebAssembly.cpp =================================================================== --- clang/lib/Basic/Targets/WebAssembly.cpp +++ clang/lib/Basic/Targets/WebAssembly.cpp @@ -105,8 +105,10 @@ if (CPU == "bleeding-edge") { Features["nontrapping-fptoint"] = true; Features["sign-ext"] = true; + Features["bulk-memory"] = true; Features["atomics"] = true; Features["mutable-globals"] = true; + Features["tail-call"] = true; setSIMDLevel(Features, SIMD128); } // Other targets do not consider user-configured features here, but while we
Index: llvm/test/CodeGen/WebAssembly/target-features.ll =================================================================== --- llvm/test/CodeGen/WebAssembly/target-features.ll +++ llvm/test/CodeGen/WebAssembly/target-features.ll @@ -83,13 +83,16 @@ ; SIMD128-NEXT: .int8 7 ; SIMD128-NEXT: .ascii "simd128" -; +atomics, +mutable-globals, +nontrapping-fptoint, +reference-types, +sign-ext, -; +simd128 -; BLEEDING-EDGE-NEXT: .int8 6 +; +atomics, +bulk-memory, +mutable-globals, +nontrapping-fptoint, +; +reference-types, +sign-ext, +simd128, +tail-call +; BLEEDING-EDGE-NEXT: .int8 8 ; BLEEDING-EDGE-NEXT: .int8 43 ; BLEEDING-EDGE-NEXT: .int8 7 ; BLEEDING-EDGE-NEXT: .ascii "atomics" ; BLEEDING-EDGE-NEXT: .int8 43 +; BLEEDING-EDGE-NEXT: .int8 11 +; BLEEDING-EDGE-NEXT: .ascii "bulk-memory" +; BLEEDING-EDGE-NEXT: .int8 43 ; BLEEDING-EDGE-NEXT: .int8 15 ; BLEEDING-EDGE-NEXT: .ascii "mutable-globals" ; BLEEDING-EDGE-NEXT: .int8 43 @@ -104,5 +107,8 @@ ; BLEEDING-EDGE-NEXT: .int8 43 ; BLEEDING-EDGE-NEXT: .int8 7 ; BLEEDING-EDGE-NEXT: .ascii "simd128" +; BLEEDING-EDGE-NEXT: .int8 43 +; BLEEDING-EDGE-NEXT: .int8 9 +; BLEEDING-EDGE-NEXT: .ascii "tail-call" ; CHECK-NEXT: .text Index: llvm/lib/Target/WebAssembly/WebAssembly.td =================================================================== --- llvm/lib/Target/WebAssembly/WebAssembly.td +++ llvm/lib/Target/WebAssembly/WebAssembly.td @@ -102,7 +102,8 @@ def : ProcessorModel<"bleeding-edge", NoSchedModel, [FeatureSIMD128, FeatureAtomics, FeatureNontrappingFPToInt, FeatureSignExt, - FeatureMutableGlobals]>; + FeatureMutableGlobals, FeatureBulkMemory, + FeatureTailCall]>; //===----------------------------------------------------------------------===// // Target Declaration Index: clang/test/Preprocessor/wasm-target-features.c =================================================================== --- clang/test/Preprocessor/wasm-target-features.c +++ clang/test/Preprocessor/wasm-target-features.c @@ -134,12 +134,14 @@ // // BLEEDING-EDGE-DAG:#define __wasm_nontrapping_fptoint__ 1{{$}} // BLEEDING-EDGE-DAG:#define __wasm_sign_ext__ 1{{$}} +// BLEEDING-EDGE-DAG:#define __wasm_bulk_memory__ 1{{$}} // BLEEDING-EDGE-DAG:#define __wasm_simd128__ 1{{$}} // BLEEDING-EDGE-DAG:#define __wasm_atomics__ 1{{$}} // BLEEDING-EDGE-DAG:#define __wasm_mutable_globals__ 1{{$}} +// BLEEDING-EDGE-DAG:#define __wasm_tail_call__ 1{{$}} // BLEEDING-EDGE-NOT:#define __wasm_unimplemented_simd128__ 1{{$}} +// BLEEDING-EDGE-NOT:#define __wasm_exception_handling__ 1{{$}} // BLEEDING-EDGE-NOT:#define __wasm_multivalue__ 1{{$}} -// BLEEDING-EDGE-NOT:#define __wasm_tail_call__ 1{{$}} // BLEEDING-EDGE-NOT:#define __wasm_reference_types__ 1{{$}} // RUN: %clang -E -dM %s -o - 2>&1 \ Index: clang/lib/Basic/Targets/WebAssembly.cpp =================================================================== --- clang/lib/Basic/Targets/WebAssembly.cpp +++ clang/lib/Basic/Targets/WebAssembly.cpp @@ -105,8 +105,10 @@ if (CPU == "bleeding-edge") { Features["nontrapping-fptoint"] = true; Features["sign-ext"] = true; + Features["bulk-memory"] = true; Features["atomics"] = true; Features["mutable-globals"] = true; + Features["tail-call"] = true; setSIMDLevel(Features, SIMD128); } // Other targets do not consider user-configured features here, but while we
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits