[clang] [llvm] [clang][WebAssembly] Support reftypes & varargs in test_function_pointer_signature (PR #150921)

2025-08-07 Thread Derek Schuff via cfe-commits
https://github.com/dschuff closed https://github.com/llvm/llvm-project/pull/150921 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang][WebAssembly] Support reftypes & varargs in test_function_pointer_signature (PR #150921)

2025-08-07 Thread Derek Schuff via cfe-commits
dschuff wrote: Oh, please also update the commit description in the top comment. https://github.com/llvm/llvm-project/pull/150921 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang][WebAssembly] Support reftypes & varargs in test_function_pointer_signature (PR #150921)

2025-08-07 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. LGTM, thanks! https://github.com/llvm/llvm-project/pull/150921 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang][WebAssembly] Support reference types in test_function_pointer_signature (PR #150921)

2025-08-06 Thread Derek Schuff via cfe-commits
https://github.com/dschuff commented: We should also maybe change the title of the PR to reflect that it also adds vararg support. https://github.com/llvm/llvm-project/pull/150921 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.l

[clang] [llvm] [clang][WebAssembly] Support reference types in test_function_pointer_signature (PR #150921)

2025-08-06 Thread Derek Schuff via cfe-commits
@@ -246,35 +246,26 @@ Value *CodeGenFunction::EmitWebAssemblyBuiltinExpr(unsigned BuiltinID, llvm::FunctionType *LLVMFuncTy = cast(ConvertType(QualType(FuncTy, 0))); +bool VarArg = LLVMFuncTy->isVarArg(); unsigned NParams = LLVMFuncTy->getNumParams();

[clang] [llvm] [clang][WebAssembly] Support reference types in test_function_pointer_signature (PR #150921)

2025-08-06 Thread Derek Schuff via cfe-commits
https://github.com/dschuff edited https://github.com/llvm/llvm-project/pull/150921 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [WebAssembly,clang] Add __builtin_wasm_test_function_pointer_signature (PR #150201)

2025-07-28 Thread Derek Schuff via cfe-commits
@@ -307,6 +310,14 @@ bool WebAssemblyTargetInfo::handleTargetFeatures( HasReferenceTypes = false; continue; } +if (Feature == "+gc") { + HasGC = true; + continue; +} +if (Feature == "-gc") { + HasGC = false; + continue; +} ---

[clang] [llvm] [WebAssembly,clang] Add __builtin_wasm_test_function_pointer_signature (PR #150201)

2025-07-25 Thread Derek Schuff via cfe-commits
https://github.com/dschuff closed https://github.com/llvm/llvm-project/pull/150201 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [WebAssembly,clang] Add __builtin_wasm_test_function_pointer_signature (PR #150201)

2025-07-25 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/150201 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [WebAssembly,clang] Add __builtin_wasm_test_function_pointer_signature (PR #150201)

2025-07-25 Thread Derek Schuff via cfe-commits
@@ -218,6 +221,64 @@ Value *CodeGenFunction::EmitWebAssemblyBuiltinExpr(unsigned BuiltinID, Function *Callee = CGM.getIntrinsic(Intrinsic::wasm_ref_null_func); return Builder.CreateCall(Callee); } + case WebAssembly::BI__builtin_wasm_test_function_pointer_signature:

[clang] [llvm] [WebAssembly,clang] Add __builtin_wasm_test_function_pointer_signature (PR #150201)

2025-07-25 Thread Derek Schuff via cfe-commits
https://github.com/dschuff updated https://github.com/llvm/llvm-project/pull/150201 >From 6c3c8a1d43b3b06c6b38e8e3d2e00ef2dc5fbc4e Mon Sep 17 00:00:00 2001 From: Hood Chatham Date: Mon, 7 Jul 2025 22:50:08 +0200 Subject: [PATCH 01/13] [WebAssembly,clang] Add __builtin_wasm_test_function_pointe

[clang] [llvm] [WebAssembly,clang] Add __builtin_wasm_test_function_pointer_signature (PR #150201)

2025-07-25 Thread Derek Schuff via cfe-commits
https://github.com/dschuff updated https://github.com/llvm/llvm-project/pull/150201 >From 6c3c8a1d43b3b06c6b38e8e3d2e00ef2dc5fbc4e Mon Sep 17 00:00:00 2001 From: Hood Chatham Date: Mon, 7 Jul 2025 22:50:08 +0200 Subject: [PATCH 01/12] [WebAssembly,clang] Add __builtin_wasm_test_function_pointe

[clang] [llvm] [WebAssembly,clang] Add __builtin_wasm_test_function_pointer_signature (PR #150201)

2025-07-25 Thread Derek Schuff via cfe-commits
https://github.com/dschuff edited https://github.com/llvm/llvm-project/pull/150201 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [WebAssembly,clang] Add __builtin_wasm_test_function_pointer_signature (PR #150201)

2025-07-25 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/150201 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebAssembly,clang] Add __builtin_wasm_test_function_pointer_signature (PR #150201)

2025-07-24 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. Sam or Thomas, do you have any comments on the PR itself? https://github.com/llvm/llvm-project/pull/150201 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mai

[clang] [WebAssembly,clang] Add __builtin_wasm_test_function_pointer_signature (PR #150201)

2025-07-23 Thread Derek Schuff via cfe-commits
dschuff wrote: This change looks fine. Regarding nontrapping call, In general I think we probably shouldn't have clang builtins for functionality that can be implemented in code on top of existing builtins. Builtins are basically language extensions (but often without the extensive vetting tha

[clang] [llvm] Remove Native Client support (PR #133661)

2025-07-15 Thread Derek Schuff via cfe-commits
dschuff wrote: NaCl deprecation and removal from Chromium is now complete, so we can remove NaCl support from LLVM now. I don't know whether there might still be any other users of bundle alignment (I have heard of 1 or 2 over the years). If so, maybe we can figure something out for their use

[clang] [Clang] Fix Sema::checkArgCount for 0-arg functions (PR #139638)

2025-05-13 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. LGTM from the wasm side. As @hoodmane noted, the underlying wasm instruction has no arguments. https://github.com/llvm/llvm-project/pull/139638 ___ cfe-commits mailing list cfe-commits@lists.llvm.

[clang] [llvm] [clang] Support ASan on WASI (PR #139014)

2025-05-08 Thread Derek Schuff via cfe-commits
dschuff wrote: This looks good to me, @sbc100 and @sunfishcode might also be interested (presumably the sanitizer runtime will end up alongside wasi-libc in the wasi SDK?) https://github.com/llvm/llvm-project/pull/139014 ___ cfe-commits mailing list

[clang] [llvm] Remove Native Client support (PR #133661)

2025-03-31 Thread Derek Schuff via cfe-commits
dschuff wrote: Thanks for working on this! This will be the first time I'm not going to oppose an effort to remove Native Client support 🎉 Although I am going to ask you to wait a couple of months to land it, until we finally turn it off for good and start deleting the support code from Chromi

[clang] [WebAssembly] Rename functions in wasm-eh.cpp (PR #130220)

2025-03-06 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/130220 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebAssembly] Generate __clang_call_terminate for Emscripten EH (PR #129020)

2025-02-27 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/129020 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebAssembly] Generate __clang_call_terminate for Emscripten EH (PR #129020)

2025-02-27 Thread Derek Schuff via cfe-commits
@@ -5150,9 +5150,14 @@ WebAssemblyCXXABI::emitTerminateForUnexpectedException(CodeGenFunction &CGF, // Itanium ABI calls __clang_call_terminate(), which __cxa_begin_catch() on // the violating exception to mark it handled, but it is currently hard to do // with wasm EH i

[clang] [WebAssembly] Generate __clang_call_terminate for Emscripten EH (PR #129020)

2025-02-27 Thread Derek Schuff via cfe-commits
@@ -0,0 +1,13 @@ +// RUN: %clang_cc1 %s -triple wasm32-unknown-unknown -fexceptions -fcxx-exceptions -emit-llvm -o - -std=c++11 2>&1 | FileCheck %s dschuff wrote: should this triple be wasm32-unknown-emscripten? Or do we use em-exceptions by default on all wasm

[clang] [WebAssembly] Generate __clang_call_terminate for Emscripten EH (PR #129020)

2025-02-27 Thread Derek Schuff via cfe-commits
@@ -5150,9 +5150,14 @@ WebAssemblyCXXABI::emitTerminateForUnexpectedException(CodeGenFunction &CGF, // Itanium ABI calls __clang_call_terminate(), which __cxa_begin_catch() on // the violating exception to mark it handled, but it is currently hard to do // with wasm EH i

[clang] [WebAssembly] Generate invokes with llvm.wasm.(re)throw (PR #128105)

2025-02-25 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/128105 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][WebAssembly] Always have `-pthread` imply `--shared-memory` linker flag (PR #127939)

2025-02-24 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/127939 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebAssembly] Generate invokes with llvm.wasm.(re)throw (PR #128105)

2025-02-24 Thread Derek Schuff via cfe-commits
@@ -0,0 +1,20 @@ +// RUN: %clang_cc1 -triple wasm32-unknown-unknown -fexceptions -fcxx-exceptions -target-feature +reference-types -target-feature +exception-handling -target-feature +multivalue -exception-model=wasm -emit-llvm -o - %s | FileCheck %s + +// Check if __builtin_wa

[clang] [clang][docs] Fix typos concerning wasm __funcref (PR #124365)

2025-01-27 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. Do you need me to commit? https://github.com/llvm/llvm-project/pull/124365 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [clang][docs] Fix typos concerning wasm __funcref (PR #124365)

2025-01-27 Thread Derek Schuff via cfe-commits
@@ -1211,6 +1211,15 @@ WebAssemblyTargetLowering::LowerCall(CallLoweringInfo &CLI, } } } + +// If outgoing arguments are passed via the stack, we cannot tail call +for (const ISD::OutputArg &Out : CLI.Outs) { dschuff wrote: Aha, i ju

[clang] [llvm] [clang][docs] Fix typos concerning wasm __funcref (PR #124365)

2025-01-27 Thread Derek Schuff via cfe-commits
@@ -1211,6 +1211,15 @@ WebAssemblyTargetLowering::LowerCall(CallLoweringInfo &CLI, } } } + +// If outgoing arguments are passed via the stack, we cannot tail call +for (const ISD::OutputArg &Out : CLI.Outs) { dschuff wrote: This is a

[clang] [WebAssembly] Fix EH feature flags when compiling multiple files (PR #124374)

2025-01-24 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/124374 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebAssembly] Enable Wasm EH features only once (PR #124042)

2025-01-23 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/124042 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebAssembly] Add error checking for -wasm-use-legacy-ch (PR #122526)

2025-01-10 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/122526 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebAssembly] Refactor Wasm EH/SjLj error checking (PR #122466)

2025-01-10 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/122466 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [WebAssembly] Add `-i128:128` to the `datalayout` string. (PR #119204)

2024-12-09 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. LGTM for updating the LLVM datalayout string to match clang's, I don't think this should affect clang's ABI at all. https://github.com/llvm/llvm-project/pull/119204 ___ cfe-commits mailing list cf

[clang] [llvm] [WebAssembly] Add `-i128:128` to the `datalayout` string. (PR #119204)

2024-12-09 Thread Derek Schuff via cfe-commits
@@ -524,9 +524,7 @@ define i64 @utest_f64i64(double %x) { ; CHECK-NEXT:local.get 0 ; CHECK-NEXT:call __fixunsdfti ; CHECK-NEXT:local.get 1 -; CHECK-NEXT:i32.const 8 -; CHECK-NEXT:i32.add -; CHECK-NEXT:i64.load 0 +; CHECK-NEXT:i64.load 8 -

[clang] [llvm] [WebAssembly] Support the new "Lime1" CPU (PR #112035)

2024-12-02 Thread Derek Schuff via cfe-commits
dschuff wrote: LGTM too; I just noticed that nowhere does the tool-conventions document mention that "lime" is short for "linear memory" and that the intention is that this is the subset of features useful to toolchains or runtimes that focus on linear memory. Maybe we should add that. https

[clang] [lld] [llvm] [WebAssembly] Enable nontrapping-fptoint and bulk-memory by default. (PR #112049)

2024-10-25 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. I think Emscripten is ready for this now, thanks for working on this! https://github.com/llvm/llvm-project/pull/112049 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org

[clang] [lld] [llvm] [WebAssembly] Enable nontrapping-fptoint and bulk-memory by default. (PR #112049)

2024-10-16 Thread Derek Schuff via cfe-commits
@@ -1,4 +1,4 @@ -; RUN: llc -filetype=obj %s -o %t.o +; RUN: llc -filetype=obj -mattr=-bulk-memory %s -o %t.o dschuff wrote: Hm, interesting, so we are using passive segments anytime bulk memory is enabled. That makes sense since this was all meant for threads,

[clang] [compiler-rt] [lld] [llvm] [Coverage][WebAssembly] Add initial support for WebAssembly/WASI (PR #111332)

2024-10-07 Thread Derek Schuff via cfe-commits
@@ -177,8 +177,9 @@ class MergeInputChunk : public InputChunk { inputSectionOffset = seg.SectionOffset; } - MergeInputChunk(const WasmSection &s, ObjFile *f) dschuff wrote: the lld changes look reasonable but /cc @sbc100 just to make sure https://gith

[clang] [compiler-rt] [lld] [llvm] [Coverage][WebAssembly] Add initial support for WebAssembly/WASI (PR #111332)

2024-10-07 Thread Derek Schuff via cfe-commits
@@ -584,7 +584,7 @@ void llvm_reset_counters(void) { } } -#if !defined(_WIN32) +#if !defined(_WIN32) && !defined(__wasi__) dschuff wrote: This probably makes sense to make `__wasm__` instead of just `__wasi__` since Emscripten also lacks fork. https://git

[clang] [WebAssembly] Change F16x8 extract lane to require constant integer. (PR #108116)

2024-09-11 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/108116 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebAssembly] Change F16x8 extract lane to require constant integer. (PR #108116)

2024-09-10 Thread Derek Schuff via cfe-commits
@@ -1888,18 +1888,15 @@ static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_splat(float __a) { return (v128_t)__builtin_wasm_splat_f16x8(__a); } -static __inline__ float __FP16_FN_ATTRS wasm_f16x8_extract_lane(v128_t __a, -

[clang] [llvm] [WebAssembly] Change half-precision feature name to fp16. (PR #105434)

2024-08-22 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/105434 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [WebAssembly] Change half-precision feature name to fp16. (PR #105434)

2024-08-20 Thread Derek Schuff via cfe-commits
dschuff wrote: I'm fine with calling this feature fp16 (I like it better than half-precision anyway) but I also wanted to point out that consistency with the spec is probably more important in the long term than consistency with V8, because the V8 flags eventually disappear (once V8 enabled su

[clang] [llvm] [WebAssembly] Implement f16x8.replace_lane instruction. (PR #99388)

2024-07-22 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. otherwise LGTM https://github.com/llvm/llvm-project/pull/99388 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [WebAssembly] Implement f16x8.replace_lane instruction. (PR #99388)

2024-07-22 Thread Derek Schuff via cfe-commits
@@ -702,6 +702,19 @@ defm "" : ReplaceLane; defm "" : ReplaceLane; defm "" : ReplaceLane; +// For now use an instrinsic for f16x8.replace_lane instead of ReplaceLane above +// since LL generated with half type arguments is not well supported and creates dsch

[clang] [llvm] Finish deleting the le32/le64 targets (PR #98497)

2024-07-11 Thread Derek Schuff via cfe-commits
@@ -842,8 +842,8 @@ class LLVM_LIBRARY_VISIBILITY NaClTargetInfo : public OSTargetInfo { } else if (Triple.getArch() == llvm::Triple::mipsel) { // Handled on mips' setDataLayout. } else { - assert(Triple.getArch() == llvm::Triple::le32); - this->resetDa

[clang] [llvm] [WebAssembly] Implement f16x8 madd and nmadd instructions. (PR #95151)

2024-06-11 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/95151 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [WebAssembly] Implement prototype f16x8.extract_lane instruction. (PR #93272)

2024-05-24 Thread Derek Schuff via cfe-commits
https://github.com/dschuff closed https://github.com/llvm/llvm-project/pull/93272 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [WebAssembly] Implement prototype f16x8.extract_lane instruction. (PR #93272)

2024-05-24 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/93272 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebAssembly] Re-enable reference types by default (PR #93261)

2024-05-24 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/93261 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [WebAssembly] Implement prototype f16x8.splat instruction. (PR #93228)

2024-05-23 Thread Derek Schuff via cfe-commits
@@ -90,6 +90,7 @@ class LLVM_LIBRARY_VISIBILITY WebAssemblyTargetInfo : public TargetInfo { StringRef getABI() const override; bool setABI(const std::string &Name) override; + bool useFP16ConversionIntrinsics() const override { return false; } dschuff wr

[clang] [libunwind] [libunwind][WebAssembly] Make libunwind compilable (PR #92192)

2024-05-21 Thread Derek Schuff via cfe-commits
https://github.com/dschuff edited https://github.com/llvm/llvm-project/pull/92192 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [libunwind] [libunwind][WebAssembly] Make libunwind compilable (PR #92192)

2024-05-21 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. These changes make sense from the wasm point of view, and it looks like you've address the comment, so LGTM https://github.com/llvm/llvm-project/pull/92192 ___ cfe-commits mailing list cfe-commits

[clang] [WebAssembly] Define __WASM_EXCEPTIONS__ for -fwasm-exceptions (PR #92604)

2024-05-20 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. LGTM too, I don't see a huge risk of breaking external users using the old define at this point, and as noted we can fix the library usage without breaking anything either. https://github.com/llvm/llvm-project/pull/92604 __

[clang] [llvm] [WebAssembly] Implement prototype f32.store_f16 instruction. (PR #91545)

2024-05-09 Thread Derek Schuff via cfe-commits
@@ -192,6 +192,7 @@ TARGET_BUILTIN(__builtin_wasm_relaxed_dot_bf16x8_add_f32_f32x4, "V4fV8UsV8UsV4f" // Half-Precision (fp16) TARGET_BUILTIN(__builtin_wasm_loadf16_f32, "fh*", "nU", "half-precision") +TARGET_BUILTIN(__builtin_wasm_storef16_f32, "vfh*", "nU", "half-precision")

[clang] [WebAssembly] Make EH depend on multivalue and reference-types (PR #91299)

2024-05-07 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. LGTM. Are we currently running wasm-eh tests on the Chromium CI with node 16? If so, I guess this will have the same issue we had when we tried to turn it on by default. I don't think this needs to be a showstopper in the same way (since th

[clang] [llvm] [WebAssembly] Implement prototype f32.load_f16 instruction. (PR #90906)

2024-05-02 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. Overall this looks good, and I think it makes sense to model this as short* for now. I think it will be interesting to see if that ends up causing issues. Out of curiosity does this work if you try `_fp16`? https://github.com/llvm/llvm-pro

[clang] [WebAssembly] Add all remaining features to bleeding-edge (PR #90875)

2024-05-02 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/90875 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebAssembly] Add all remaining features to bleeding-edge (PR #90875)

2024-05-02 Thread Derek Schuff via cfe-commits
dschuff wrote: This makes sense to me, I think it was the original intention (although I don't recall it being important to us or anyone else I'm aware of). https://github.com/llvm/llvm-project/pull/90875 ___ cfe-commits mailing list cfe-commits@lists

[clang] [WebAssembly] Disable reference types in generic CPU (PR #90792)

2024-05-01 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. https://github.com/llvm/llvm-project/pull/90792 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [libcxx] [clang] Enable sized deallocation by default in C++14 onwards (PR #83774)

2024-04-26 Thread Derek Schuff via cfe-commits
dschuff wrote: We are also seeing the Windows failure. Given that there appear to be 2 separate problems, this patch should probably be reverted rather than trying to fix-forward. https://github.com/llvm/llvm-project/pull/83774 ___ cfe-commits mailin

[clang] [WebAssembly] Enable multivalue and reference-types in generic CPU config (PR #80923)

2024-04-23 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. (also LGTM FTR) https://github.com/llvm/llvm-project/pull/80923 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebAssembly] Enable multivalue and reference-types in generic CPU config (PR #80923)

2024-04-23 Thread Derek Schuff via cfe-commits
https://github.com/dschuff edited https://github.com/llvm/llvm-project/pull/80923 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebAssembly] Enable multivalue and reference-types in generic CPU config (PR #80923)

2024-04-23 Thread Derek Schuff via cfe-commits
@@ -147,19 +147,25 @@ void WebAssemblyTargetInfo::setFeatureEnabled(llvm::StringMap &Features, bool WebAssemblyTargetInfo::initFeatureMap( llvm::StringMap &Features, DiagnosticsEngine &Diags, StringRef CPU, const std::vector &FeaturesVec) const { - if (CPU == "bleedin

[clang] [WebAssembly] Enable multivalue and reference-types in generic CPU config (PR #80923)

2024-04-23 Thread Derek Schuff via cfe-commits
dschuff wrote: I think "generic" is the default CPU so object files will have it enabled by default. You can still specify "mvp" as the CPU as before to avoid it. https://github.com/llvm/llvm-project/pull/80923 ___ cfe-commits mailing list cfe-commits

[clang] [llvm] [clang-tools-extra] [CodeGen] Mark mem intrinsic loads and stores as dereferenceable (PR #80184)

2024-02-06 Thread Derek Schuff via cfe-commits
dschuff wrote: I am getting one local test failure here, in `/test/CodeGen/BPF/undef.ll`: The test has a bunch of [stores](https://github.com/llvm/llvm-project/blob/cdd9221489ec4ed6afc0e5146c2fae4daa8ab260/llvm/test/CodeGen/BPF/undef.ll#L44-L54) into an alloca, which i think are supposed to get

[clang-tools-extra] [clang] [llvm] [CodeGen] Mark mem intrinsic loads and stores as dereferenceable (PR #80184)

2024-02-06 Thread Derek Schuff via cfe-commits
https://github.com/dschuff updated https://github.com/llvm/llvm-project/pull/80184 >From 8fce40a38370f92926f1dabbc00c29e2d48b46e7 Mon Sep 17 00:00:00 2001 From: Derek Schuff Date: Tue, 30 Jan 2024 17:39:00 -0800 Subject: [PATCH 1/6] Use getObjectPtrOffset to generate constant offsets for memcp

[lld] [llvm] [clang] [clang-tools-extra] [Object][Wasm] Allow parsing of GC types in type and table sections (PR #79235)

2024-01-25 Thread Derek Schuff via cfe-commits
https://github.com/dschuff closed https://github.com/llvm/llvm-project/pull/79235 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [lld] [clang] [clang-tools-extra] [Object][Wasm] Allow parsing of GC types in type and table sections (PR #79235)

2024-01-24 Thread Derek Schuff via cfe-commits
@@ -259,10 +259,13 @@ class InputFunction : public InputChunk { file->codeSection->Content.slice(inputSectionOffset, function->Size); debugName = function->DebugName; comdat = function->Comdat; +assert(s.Kind != WasmSignature::Placeholder);

[llvm] [lld] [clang] [clang-tools-extra] [Object][Wasm] Allow parsing of GC types in type and table sections (PR #79235)

2024-01-24 Thread Derek Schuff via cfe-commits
https://github.com/dschuff updated https://github.com/llvm/llvm-project/pull/79235 >From 976c98f631e5ed48bb18accbe59c9babd354a924 Mon Sep 17 00:00:00 2001 From: Derek Schuff Date: Wed, 3 Jan 2024 09:06:37 -0800 Subject: [PATCH 01/12] parse types --- llvm/include/llvm/BinaryFormat/Wasm.h | 8

[lld] [clang] [llvm] [clang-tools-extra] [Object][Wasm] Allow parsing of GC types in type and table sections (PR #79235)

2024-01-24 Thread Derek Schuff via cfe-commits
@@ -259,10 +259,13 @@ class InputFunction : public InputChunk { file->codeSection->Content.slice(inputSectionOffset, function->Size); debugName = function->DebugName; comdat = function->Comdat; +assert(s.Kind != WasmSignature::Placeholder);

[lld] [clang-tools-extra] [llvm] [clang] [Object][Wasm] Allow parsing of GC types in type and table sections (PR #79235)

2024-01-23 Thread Derek Schuff via cfe-commits
https://github.com/dschuff created https://github.com/llvm/llvm-project/pull/79235 This change allows a WasmObjectFile to be created from a wasm file even if it uses typed funcrefs and GC types. It does not significantly change how lib/Object models its various internal types (e.g. WasmSignatu

[lld] [compiler-rt] [openmp] [flang] [lldb] [libcxx] [libc] [mlir] [llvm] [clang] [polly] [WebAssembly] Correctly consider signext/zext arg flags at function declaration (PR #77281)

2024-01-09 Thread Derek Schuff via cfe-commits
dschuff wrote: Yeah, sorry I missed Alex's suggestion there. There's no hurry. https://github.com/llvm/llvm-project/pull/77281 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[lldb] [llvm] [clang] [lld] [libcxx] [libc] [mlir] [compiler-rt] [openmp] [polly] [flang] [WebAssembly] Correctly consider signext/zext arg flags at function declaration (PR #77281)

2024-01-09 Thread Derek Schuff via cfe-commits
@@ -839,9 +839,11 @@ bool WebAssemblyFastISel::selectCall(const Instruction *I) { unsigned Reg; -if (Attrs.hasParamAttr(I, Attribute::SExt)) +if (Attrs.hasParamAttr(I, Attribute::SExt) || +(IsDirect && Func->hasParamAttribute(I, Attribute::SExt))) ---

[polly] [flang] [mlir] [openmp] [libc] [compiler-rt] [lld] [llvm] [lldb] [clang] [libcxx] [WebAssembly] Correctly consider signext/zext arg flags at function declaration (PR #77281)

2024-01-09 Thread Derek Schuff via cfe-commits
https://github.com/dschuff approved this pull request. Thanks for the fix! https://github.com/llvm/llvm-project/pull/77281 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [compiler-rt] [lldb] [mlir] [libc] [libcxx] [openmp] [clang] [flang] [lld] [polly] [WebAssembly] Correctly consider signext/zext arg flags at function declaration (PR #77281)

2024-01-08 Thread Derek Schuff via cfe-commits
@@ -0,0 +1,125 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc < %s -O0 | FileCheck %s dschuff wrote: Is there a test that covers this behavior for DAG ISel? Maybe it would make sense to add test expectations for bot

[clang] c6a33ff - [clang][CodeGen] Emit annotations for function declarations.

2023-09-12 Thread Derek Schuff via cfe-commits
Author: Brendan Dahl Date: 2023-09-12T13:07:55-07:00 New Revision: c6a33ff49dfb3498dae15c718820ea3d9c19f3cb URL: https://github.com/llvm/llvm-project/commit/c6a33ff49dfb3498dae15c718820ea3d9c19f3cb DIFF: https://github.com/llvm/llvm-project/commit/c6a33ff49dfb3498dae15c718820ea3d9c19f3cb.diff

[clang] d0d8d2d - [clang][Driver] use DWARF4 for wasm

2022-01-24 Thread Derek Schuff via cfe-commits
Author: Derek Schuff Date: 2022-01-24T15:46:54-08:00 New Revision: d0d8d2d572cd1db54d0f6d90f8dd3825f9c7b36b URL: https://github.com/llvm/llvm-project/commit/d0d8d2d572cd1db54d0f6d90f8dd3825f9c7b36b DIFF: https://github.com/llvm/llvm-project/commit/d0d8d2d572cd1db54d0f6d90f8dd3825f9c7b36b.diff

[clang] ac02baa - WebAssembly: Update datalayout to match fp128 ABI change

2021-07-09 Thread Derek Schuff via cfe-commits
Author: Derek Schuff Date: 2021-07-09T16:51:36-07:00 New Revision: ac02baab48c2ff512e40140e2fe6845d2b6a636f URL: https://github.com/llvm/llvm-project/commit/ac02baab48c2ff512e40140e2fe6845d2b6a636f DIFF: https://github.com/llvm/llvm-project/commit/ac02baab48c2ff512e40140e2fe6845d2b6a636f.diff

[clang] 77973f8 - [WebAssembly] Add support for DWARF type units

2020-10-28 Thread Derek Schuff via cfe-commits
Author: Derek Schuff Date: 2020-10-28T17:41:22-07:00 New Revision: 77973f8dee6d4d6f1b7c2a026249c1f7068f267b URL: https://github.com/llvm/llvm-project/commit/77973f8dee6d4d6f1b7c2a026249c1f7068f267b DIFF: https://github.com/llvm/llvm-project/commit/77973f8dee6d4d6f1b7c2a026249c1f7068f267b.diff

[clang] 44eea0b - Revert "[WebAssembly] Add support for DWARF type units"

2020-10-27 Thread Derek Schuff via cfe-commits
Author: Derek Schuff Date: 2020-10-27T17:57:32-07:00 New Revision: 44eea0b1a7301de4c284afed1c023014c391372f URL: https://github.com/llvm/llvm-project/commit/44eea0b1a7301de4c284afed1c023014c391372f DIFF: https://github.com/llvm/llvm-project/commit/44eea0b1a7301de4c284afed1c023014c391372f.diff

[clang] bcb8a11 - [WebAssembly] Add support for DWARF type units

2020-10-27 Thread Derek Schuff via cfe-commits
Author: Derek Schuff Date: 2020-10-27T17:13:41-07:00 New Revision: bcb8a119df210753c5f1a3ac346d49597fef0f51 URL: https://github.com/llvm/llvm-project/commit/bcb8a119df210753c5f1a3ac346d49597fef0f51 DIFF: https://github.com/llvm/llvm-project/commit/bcb8a119df210753c5f1a3ac346d49597fef0f51.diff

[clang] 0ff28fa - Support dwarf fission for wasm object files

2020-09-17 Thread Derek Schuff via cfe-commits
Author: Derek Schuff Date: 2020-09-17T14:42:41-07:00 New Revision: 0ff28fa6a75617d61b1aeea77463d6a1684c3c89 URL: https://github.com/llvm/llvm-project/commit/0ff28fa6a75617d61b1aeea77463d6a1684c3c89 DIFF: https://github.com/llvm/llvm-project/commit/0ff28fa6a75617d61b1aeea77463d6a1684c3c89.diff

[clang] c5bd3d0 - Support Swift calling convention for WebAssembly targets

2020-01-24 Thread Derek Schuff via cfe-commits
Author: Yuta Saito Date: 2020-01-24T10:30:46-08:00 New Revision: c5bd3d07262ffda5b21576b9e1e2d2dd2e51fb4b URL: https://github.com/llvm/llvm-project/commit/c5bd3d07262ffda5b21576b9e1e2d2dd2e51fb4b DIFF: https://github.com/llvm/llvm-project/commit/c5bd3d07262ffda5b21576b9e1e2d2dd2e51fb4b.diff LO

r357127 - Revert "[WebAssembly] Don't use default GetLinkerPath"

2019-03-27 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Wed Mar 27 15:22:18 2019 New Revision: 357127 URL: http://llvm.org/viewvc/llvm-project?rev=357127&view=rev Log: Revert "[WebAssembly] Don't use default GetLinkerPath" This reverts commit 4dcf3acce6d7455fd079d8e57441906ca2bad254. (reverts LLVM SVN r356953) Modified: cfe/

[PATCH] D26431: [WebAssembly] Define __unix__ as part of the wasm target

2016-11-08 Thread Derek Schuff via cfe-commits
dschuff added a comment. Yeah, I don't mean for this to be the final word; mostly this just matches asm.js. I do agree with you that the unixy stuff goes with the emscripten environment rather than wasm per se. I had thought we might define emscripten as an "OS" (i.e. the third or maybe even 4t

[PATCH] D26431: [WebAssembly] Define __unix__ as part of the wasm target

2016-11-08 Thread Derek Schuff via cfe-commits
dschuff accepted this revision. dschuff added a comment. This revision is now accepted and ready to land. Also it matches asm.js @sunfish is planning on unifying the triples, and this will be part of that (and there may be more defines that we want to add and/or subtract), but for now it makes m

Re: [PATCH] D24134: [WebAssembly] Change wasm SizeType to match asmjs

2016-09-01 Thread Derek Schuff via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL280420: [WebAssembly] Change wasm SizeType to match asmjs (authored by dschuff). Changed prior to commit: https://reviews.llvm.org/D24134?vs=70008&id=70082#toc Repository: rL LLVM https://reviews.ll

r280420 - [WebAssembly] Change wasm SizeType to match asmjs

2016-09-01 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Thu Sep 1 17:38:37 2016 New Revision: 280420 URL: http://llvm.org/viewvc/llvm-project?rev=280420&view=rev Log: [WebAssembly] Change wasm SizeType to match asmjs Summary: We want wasm and asmjs to have matching ABIs, and right now asmjs uses unsigned int for its size_t. This

Re: [PATCH] D24134: [WebAssembly] Change wasm SizeType to match asmjs

2016-09-01 Thread Derek Schuff via cfe-commits
dschuff accepted this revision. dschuff added a comment. This revision is now accepted and ready to land. LGTM https://reviews.llvm.org/D24134 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe

Re: [PATCH] D24134: [WebAssembly] Change wasm SizeType to match asmjs

2016-09-01 Thread Derek Schuff via cfe-commits
dschuff added a comment. test comment https://reviews.llvm.org/D24134 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D23244: [Driver] Enable CFI for WebAssembly

2016-08-08 Thread Derek Schuff via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL278051: [Driver] Enable CFI for WebAssembly (authored by dschuff). Changed prior to commit: https://reviews.llvm.org/D23244?vs=67090&id=67226#toc Repository: rL LLVM https://reviews.llvm.org/D23244

r278051 - [Driver] Enable CFI for WebAssembly

2016-08-08 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Mon Aug 8 16:14:15 2016 New Revision: 278051 URL: http://llvm.org/viewvc/llvm-project?rev=278051&view=rev Log: [Driver] Enable CFI for WebAssembly Since CFI support has landed in the WebAssembly backend, enable it in the frontend driver. Patch by Dominic Chen Differential

r269099 - [WebAssembly] Reduce strictness of static destructor test

2016-05-10 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Tue May 10 13:35:31 2016 New Revision: 269099 URL: http://llvm.org/viewvc/llvm-project?rev=269099&view=rev Log: [WebAssembly] Reduce strictness of static destructor test It didn't work on non-asserts builds Modified: cfe/trunk/test/CodeGenCXX/static-destructor.cpp Modi

Re: [PATCH] D19275: Do not register incompatible C++ destructors with __cxa_atexit

2016-05-10 Thread Derek Schuff via cfe-commits
dschuff added a comment. Well, I forgot to squash my local commits before landing, so this is r269085 thru r269089 :( Repository: rL LLVM http://reviews.llvm.org/D19275 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.or

Re: [PATCH] D19275: Do not register incompatible C++ destructors with __cxa_atexit

2016-05-10 Thread Derek Schuff via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL269085: Do not register incompatible C++ destructors with __cxa_atexit (authored by dschuff). Changed prior to commit: http://reviews.llvm.org/D19275?vs=56218&id=56751#toc Repository: rL LLVM http:/

r269089 - Introduce CGCXXABI::canCallMismatchedFunctionType

2016-05-10 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Tue May 10 12:44:55 2016 New Revision: 269089 URL: http://llvm.org/viewvc/llvm-project?rev=269089&view=rev Log: Introduce CGCXXABI::canCallMismatchedFunctionType Modified: cfe/trunk/lib/CodeGen/CGCXXABI.h cfe/trunk/lib/CodeGen/CGDeclCXX.cpp cfe/trunk/lib/CodeGen/

  1   2   >