[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/

r269088 - more cleanup

2016-05-10 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Tue May 10 12:44:52 2016 New Revision: 269088 URL: http://llvm.org/viewvc/llvm-project?rev=269088&view=rev Log: more cleanup Modified: cfe/trunk/lib/CodeGen/CGDeclCXX.cpp Modified: cfe/trunk/lib/CodeGen/CGDeclCXX.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/l

r269085 - Do not register incompatible C++ destructors with __cxa_atexit

2016-05-10 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Tue May 10 12:44:46 2016 New Revision: 269085 URL: http://llvm.org/viewvc/llvm-project?rev=269085&view=rev Log: Do not register incompatible C++ destructors with __cxa_atexit Summary: For a static object with a nontrivial destructor, clang generates an initializer function (

r269086 - Clean up condition, add ARM to test

2016-05-10 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Tue May 10 12:44:48 2016 New Revision: 269086 URL: http://llvm.org/viewvc/llvm-project?rev=269086&view=rev Log: Clean up condition, add ARM to test Modified: cfe/trunk/lib/CodeGen/CGDeclCXX.cpp cfe/trunk/test/CodeGenCXX/static-destructor.cpp Modified: cfe/trunk/lib/

r269087 - Clarify condition, remove redundant check

2016-05-10 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Tue May 10 12:44:50 2016 New Revision: 269087 URL: http://llvm.org/viewvc/llvm-project?rev=269087&view=rev Log: Clarify condition, remove redundant check Modified: cfe/trunk/lib/CodeGen/CGDeclCXX.cpp Modified: cfe/trunk/lib/CodeGen/CGDeclCXX.cpp URL: http://llvm.org/vi

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. Ping? http://reviews.llvm.org/D19275 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

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

2016-05-04 Thread Derek Schuff via cfe-commits
dschuff updated this revision to Diff 56218. dschuff added a comment. - Introduce CGCXXABI::canCallMismatchedFunctionType http://reviews.llvm.org/D19275 Files: lib/CodeGen/CGCXXABI.h lib/CodeGen/CGDeclCXX.cpp lib/CodeGen/ItaniumCXXABI.cpp test/CodeGenCXX/static-destructor.cpp Index: te

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

2016-05-04 Thread Derek Schuff via cfe-commits
dschuff added a comment. Thanks for the feedback, PTAL http://reviews.llvm.org/D19275 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

r268256 - [WebAssembly] Rename memory_size intrinsic to current_memory

2016-05-02 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Mon May 2 12:26:19 2016 New Revision: 268256 URL: http://llvm.org/viewvc/llvm-project?rev=268256&view=rev Log: [WebAssembly] Rename memory_size intrinsic to current_memory This follows the recent change in the wasm spec. Modified: cfe/trunk/include/clang/Basic/Builtins

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

2016-04-22 Thread Derek Schuff via cfe-commits
dschuff added a subscriber: rengolin. dschuff added a comment. any comments from @t.p.northover or perhaps @rengolin ? (This does have a potential new cost on ARM, as it requires one thunk (which is just a tail call) per static initializer on ARM and WebAssembly) http://reviews.llvm.org/D19275

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

2016-04-19 Thread Derek Schuff via cfe-commits
dschuff updated this revision to Diff 54274. dschuff marked 2 inline comments as done. dschuff added a comment. - Clean up condition, add ARM to test - Clarify condition, remove redundant check - more cleanup http://reviews.llvm.org/D19275 Files: lib/CodeGen/CGDeclCXX.cpp test/CodeGenCXX/ru

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

2016-04-19 Thread Derek Schuff via cfe-commits
dschuff added inline comments. Comment at: lib/CodeGen/CGDeclCXX.cpp:92 @@ +91,3 @@ + // disabled via a flag, a different helper function is generated anyway. + const CXXRecordDecl *Record = type->getAsCXXRecordDecl(); + bool CanRegisterDestructor = Record && j

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

2016-04-19 Thread Derek Schuff via cfe-commits
dschuff updated this revision to Diff 54264. dschuff added a comment. - Clarify condition, remove redundant check http://reviews.llvm.org/D19275 Files: lib/CodeGen/CGDeclCXX.cpp test/CodeGenCXX/runtimecc.cpp test/CodeGenCXX/static-destructor.cpp Index: test/CodeGenCXX/static-destructor.c

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

2016-04-19 Thread Derek Schuff via cfe-commits
dschuff updated this revision to Diff 54260. dschuff marked 3 inline comments as done. dschuff added a comment. - Clean up condition, add ARM to test http://reviews.llvm.org/D19275 Files: lib/CodeGen/CGDeclCXX.cpp test/CodeGenCXX/runtimecc.cpp test/CodeGenCXX/static-destructor.cpp Index:

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

2016-04-19 Thread Derek Schuff via cfe-commits
dschuff added a reviewer: sunfish. dschuff added a comment. Will want a reviewer who's involved with ARM too, still looking. http://reviews.llvm.org/D19275 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman

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

2016-04-19 Thread Derek Schuff via cfe-commits
dschuff created this revision. dschuff added a subscriber: cfe-commits. Herald added subscribers: dschuff, jfb, aemerson. For a static object with a nontrivial destructor, clang generates an initializer function (__cxx_global_var_init) which registers that object's destructor using __cxa_atexit. H

Re: [PATCH] D16154: Default vaarg lowering should support indirect struct types.

2016-02-17 Thread Derek Schuff via cfe-commits
dschuff added a comment. This LGTM for PNaCl and WebAssembly. It's possible that for wasm we may still end up doing our own thing for varargs instead of using the default, but this still looks like strictly an improvement, (and it makes bootstrapping a backend simpler). http://reviews.llvm.or

r253259 - Derive nacltools::Linker from GnuTool to get response file support

2015-11-16 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Mon Nov 16 16:21:25 2015 New Revision: 253259 URL: http://llvm.org/viewvc/llvm-project?rev=253259&view=rev Log: Derive nacltools::Linker from GnuTool to get response file support It could be derived from gnutools::Linker directly but this way makes it consistent with all the

Re: [PATCH] D11271: Change Native Client x86 usr include and link path to match SDK expectations

2015-08-26 Thread Derek Schuff via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL246040: Change Native Client x86 usr include and link path to match SDK expectations (authored by dschuff). Changed prior to commit: http://reviews.llvm.org/D11271?vs=29924&id=33216#toc Repository: r

r246040 - Change Native Client x86 usr include and link path to match SDK expectations

2015-08-26 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Wed Aug 26 12:14:08 2015 New Revision: 246040 URL: http://llvm.org/viewvc/llvm-project?rev=246040&view=rev Log: Change Native Client x86 usr include and link path to match SDK expectations GNU multilib style uses x86_64-nacl/include and x86_64-nacl/usr/include but the SDK ex

r245910 - Revert "broken test. uses system ld.gold"

2015-08-24 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Mon Aug 24 18:53:30 2015 New Revision: 245910 URL: http://llvm.org/viewvc/llvm-project?rev=245910&view=rev Log: Revert "broken test. uses system ld.gold" We should check in a basic_nacl_tree that works and also fix --sysroot Removed: cfe/trunk/test/Driver/Inputs/basic_na

r245908 - Use GetLinkerPath utility function to find linker for NaCl toolchain

2015-08-24 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Mon Aug 24 18:53:25 2015 New Revision: 245908 URL: http://llvm.org/viewvc/llvm-project?rev=245908&view=rev Log: Use GetLinkerPath utility function to find linker for NaCl toolchain Summary: This is more consistent with other targets and also makes the -fuse-ld flag work. Re

r245909 - broken test. uses system ld.gold

2015-08-24 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Mon Aug 24 18:53:28 2015 New Revision: 245909 URL: http://llvm.org/viewvc/llvm-project?rev=245909&view=rev Log: broken test. uses system ld.gold Added: cfe/trunk/test/Driver/Inputs/basic_nacl_tree/ cfe/trunk/test/Driver/Inputs/basic_nacl_tree/bin/ cfe/trunk/test/

r244541 - Add NaCl to long double/fp128 mangling test

2015-08-10 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Mon Aug 10 19:19:53 2015 New Revision: 244541 URL: http://llvm.org/viewvc/llvm-project?rev=244541&view=rev Log: Add NaCl to long double/fp128 mangling test Summary: NaCl is a platform where long double is the same as double. Its mangling is spelled with "long double" but its

r244542 - add comment

2015-08-10 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Mon Aug 10 19:19:54 2015 New Revision: 244542 URL: http://llvm.org/viewvc/llvm-project?rev=244542&view=rev Log: add comment Modified: cfe/trunk/test/CodeGen/long_double_fp128.cpp Modified: cfe/trunk/test/CodeGen/long_double_fp128.cpp URL: http://llvm.org/viewvc/llvm-pr

Re: [PATCH] D11922: Add NaCl to long double/fp128 mangling test

2015-08-10 Thread Derek Schuff via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL244541: Add NaCl to long double/fp128 mangling test (authored by dschuff). Changed prior to commit: http://reviews.llvm.org/D11922?vs=31744&id=31747#toc Repository: rL LLVM http://reviews.llvm.org/D

Re: [PATCH] D11922: Add NaCl to long double/fp128 mangling test

2015-08-10 Thread Derek Schuff via cfe-commits
dschuff added a comment. Looks like all the other unix targets that use IEEEDouble as their format do this too, including all the NaCl compilers. http://reviews.llvm.org/D11922 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.ll

Re: [PATCH] D11922: Add NaCl to long double/fp128 mangling test

2015-08-10 Thread Derek Schuff via cfe-commits
dschuff added a comment. I'm not an expert in mangling, and I'm not 100% sure if this is right. The Itanium ABI's spec lists "long double" as the same as __float80. Should we use "double" in mangling instead? http://reviews.llvm.org/D11922 ___ cfe

[PATCH] D11922: Add NaCl to long double/fp128 mangling test

2015-08-10 Thread Derek Schuff via cfe-commits
dschuff created this revision. dschuff added reviewers: rnk, chh. dschuff added a subscriber: cfe-commits. Herald added subscribers: dschuff, jfb. NaCl is a platform where long double is the same as double. Its mangling is spelled with "long double" but its ABI lowering is the same as double. htt

Re: [PATCH] D11921: Add NaCl (a target where long double = double) to long double ABI test

2015-08-10 Thread Derek Schuff via cfe-commits
dschuff added a comment. In http://reviews.llvm.org/D11921#221172, @chh wrote: > Please rebase the change to r244502 or newer, to run with -Asserts builds. Did that; Not sure it's reflected on Phabricator, but I did check the diff. Thanks! Repository: rL LLVM http://reviews.llvm.org/D11921

Re: [PATCH] D11921: Add NaCl (a target where long double = double) to long double ABI test

2015-08-10 Thread Derek Schuff via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL244524: Add NaCl (a target where long double = double) to long double ABI test (authored by dschuff). Changed prior to commit: http://reviews.llvm.org/D11921?vs=31741&id=31743#toc Repository: rL LLVM

r244524 - Add NaCl (a target where long double = double) to long double ABI test

2015-08-10 Thread Derek Schuff via cfe-commits
Author: dschuff Date: Mon Aug 10 18:02:37 2015 New Revision: 244524 URL: http://llvm.org/viewvc/llvm-project?rev=244524&view=rev Log: Add NaCl (a target where long double = double) to long double ABI test A test was recently (r244468) added to cover long double calling convention codegen, disting

Re: [PATCH] D11921: Add NaCl (a target where long double = double) to long double ABI test

2015-08-10 Thread Derek Schuff via cfe-commits
dschuff updated this revision to Diff 31741. dschuff added a comment. Herald added a subscriber: dschuff. - rename to x86_64-longdouble.c http://reviews.llvm.org/D11921 Files: test/CodeGen/x86_64-fp128.c test/CodeGen/x86_64-longdouble.c Index: test/CodeGen/x86_64-longdouble.c =

Re: [PATCH] D11921: Add NaCl (a target where long double = double) to long double ABI test

2015-08-10 Thread Derek Schuff via cfe-commits
dschuff added a comment. Should this test be renamed to x86_longdouble.c or some such instead of fp128? http://reviews.llvm.org/D11921 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D11921: Add NaCl (a target where long double = double) to long double ABI test

2015-08-10 Thread Derek Schuff via cfe-commits
dschuff created this revision. dschuff added reviewers: rnk, chh, majnemer, echristo. dschuff added a subscriber: cfe-commits. Herald added subscribers: srhines, danalbert, tberghammer, jfb. A test was recently (r244468) added to cover long double calling convention codegen, distinguishing between