Page MenuHomePhabricator

sunfish (Dan Gohman)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 12 2013, 11:44 AM (488 w, 2 d)

Recent Activity

Feb 1 2023

sunfish added inline comments to D143056: [RFC][IR] llvm.minimum/maximum NaN propagation..
Feb 1 2023, 10:12 AM · Restricted Project, Restricted Project

Nov 2 2022

sunfish committed rG0807bc7e07f0: [wasm-ld] Update supported features in the generic CPU configuration (authored by sunfish).
[wasm-ld] Update supported features in the generic CPU configuration
Nov 2 2022, 12:52 PM · Restricted Project, Restricted Project

Oct 31 2022

sunfish committed rGd4c8a0edca51: [wasm-ld] Allow importing/exporting the output module's memory with arbitrary… (authored by sunfish).
[wasm-ld] Allow importing/exporting the output module's memory with arbitrary…
Oct 31 2022, 2:00 PM · Restricted Project
sunfish closed D135898: [wasm-ld] Allow importing/exporting the output module's memory with arbitrary names.
Oct 31 2022, 1:59 PM · Restricted Project, Restricted Project

Oct 25 2022

sunfish added a comment to D125729: [WebAssembly] Update supported features in the generic CPU configuration.

This might have broken check-lld: http://45.33.8.238/linux/89856/step_11.txt

Please take a look and revert for now if it takes a while to fix.

I'm looking into it now.

Oct 25 2022, 12:16 PM · Restricted Project, Restricted Project
sunfish committed rGb5d0bf9b9853: [wasm-ld] Add -mcpu=mvp to wasm-ld tests (authored by sunfish).
[wasm-ld] Add -mcpu=mvp to wasm-ld tests
Oct 25 2022, 12:15 PM · Restricted Project
sunfish added a comment to D125729: [WebAssembly] Update supported features in the generic CPU configuration.

This might have broken check-lld: http://45.33.8.238/linux/89856/step_11.txt

Please take a look and revert for now if it takes a while to fix.

Oct 25 2022, 11:55 AM · Restricted Project, Restricted Project
sunfish committed rG1e4e2433bcd1: [WebAssembly] Update supported features in the generic CPU configuration (authored by sunfish).
[WebAssembly] Update supported features in the generic CPU configuration
Oct 25 2022, 11:46 AM · Restricted Project, Restricted Project
sunfish closed D125728: [WebAssembly] Update supported features in -mcpu=generic.
Oct 25 2022, 11:45 AM · Restricted Project, Restricted Project
sunfish committed rG11afbf396e10: Update supported features in the generic CPU configuration (authored by sunfish).
Update supported features in the generic CPU configuration
Oct 25 2022, 11:43 AM · Restricted Project, Restricted Project
sunfish closed D125729: [WebAssembly] Update supported features in the generic CPU configuration.
Oct 25 2022, 11:43 AM · Restricted Project, Restricted Project

Oct 21 2022

sunfish added inline comments to D135898: [wasm-ld] Allow importing/exporting the output module's memory with arbitrary names.
Oct 21 2022, 1:46 PM · Restricted Project, Restricted Project

Oct 18 2022

sunfish accepted D136117: [lld][WebAssembly] Don't allow `--global-base` to be specified in -share/-pie or --relocatable modes.

Looks good.

Oct 18 2022, 4:52 PM · Restricted Project, Restricted Project
sunfish updated the diff for D125729: [WebAssembly] Update supported features in the generic CPU configuration.
  • Remove bulk-memory and nontrapping-fptoint.
Oct 18 2022, 4:49 PM · Restricted Project, Restricted Project
sunfish added inline comments to D125729: [WebAssembly] Update supported features in the generic CPU configuration.
Oct 18 2022, 11:35 AM · Restricted Project, Restricted Project
sunfish updated the diff for D125729: [WebAssembly] Update supported features in the generic CPU configuration.
  • Add a comment about what "generic" means.
Oct 18 2022, 11:35 AM · Restricted Project, Restricted Project
sunfish added inline comments to D136117: [lld][WebAssembly] Don't allow `--global-base` to be specified in -share/-pie or --relocatable modes.
Oct 18 2022, 9:34 AM · Restricted Project, Restricted Project

Oct 17 2022

sunfish committed rG4b24e9be175d: [wasm-ld] Define a `__heap_end` symbol marking the end of allocated memory. (authored by sunfish).
[wasm-ld] Define a `__heap_end` symbol marking the end of allocated memory.
Oct 17 2022, 4:39 PM · Restricted Project
sunfish closed D136110: [wasm-ld] Define a `__heap_end` symbol marking the end of allocated memory..
Oct 17 2022, 4:39 PM · Restricted Project, Restricted Project
sunfish updated the diff for D136110: [wasm-ld] Define a `__heap_end` symbol marking the end of allocated memory..
  • Merge the comments for heap_base and heap_end.
Oct 17 2022, 4:24 PM · Restricted Project, Restricted Project
sunfish requested review of D136110: [wasm-ld] Define a `__heap_end` symbol marking the end of allocated memory..
Oct 17 2022, 1:56 PM · Restricted Project, Restricted Project

Oct 14 2022

sunfish abandoned D70515: [WebAssembly] Create a __stack_limit variable.

Do you think this change is still useful and/or better than https://reviews.llvm.org/D135910?

Oct 14 2022, 8:08 AM · Restricted Project, Restricted Project

Oct 13 2022

sunfish updated the diff for D135898: [wasm-ld] Allow importing/exporting the output module's memory with arbitrary names.
  • Address review feedback
Oct 13 2022, 5:42 PM · Restricted Project, Restricted Project
sunfish added a comment to D135903: [wasm-ld] Add support for calling constructors in reactors..
Oct 13 2022, 5:35 PM · Restricted Project, Restricted Project
sunfish updated the diff for D135903: [wasm-ld] Add support for calling constructors in reactors..
  • Fix indentation.
Oct 13 2022, 5:07 PM · Restricted Project, Restricted Project
sunfish updated the diff for D135903: [wasm-ld] Add support for calling constructors in reactors..
  • Use a memory location instead of a wasm global, and support threads.
  • Use llvm-objdump -d in tests.
Oct 13 2022, 5:05 PM · Restricted Project, Restricted Project
sunfish added a comment to D135903: [wasm-ld] Add support for calling constructors in reactors..

Aren't reactors supposed to define an _initialize function that takes care of this?

Oct 13 2022, 2:24 PM · Restricted Project, Restricted Project
sunfish accepted D135910: [lld][WebAssembly] Add symbols marking start/end of stack region.

LGTM!

Oct 13 2022, 2:12 PM · Restricted Project, Restricted Project
sunfish requested review of D135903: [wasm-ld] Add support for calling constructors in reactors..
Oct 13 2022, 11:55 AM · Restricted Project, Restricted Project
sunfish requested review of D135898: [wasm-ld] Allow importing/exporting the output module's memory with arbitrary names.
Oct 13 2022, 11:01 AM · Restricted Project, Restricted Project

Aug 31 2022

sunfish committed rG9f049e999308: [lld][WebAssemby] Allow import module names to be empty strings. (authored by sunfish).
[lld][WebAssemby] Allow import module names to be empty strings.
Aug 31 2022, 3:31 PM · Restricted Project, Restricted Project
sunfish closed D133037: [lld][WebAssemby] Allow import module names to be empty strings..
Aug 31 2022, 3:30 PM · Restricted Project, Restricted Project
sunfish added a comment to D133037: [lld][WebAssemby] Allow import module names to be empty strings..

The change to the code here seems only to relate to the module and the not the name/field of the import, is that right? Were fields already allowed to be empty? In which case maybe the title should just be "Allow empty module names in imports?"

Aug 31 2022, 2:46 PM · Restricted Project, Restricted Project
sunfish updated the diff for D133037: [lld][WebAssemby] Allow import module names to be empty strings..

Instead of adding new test files, add tests to existing test files.

Aug 31 2022, 2:43 PM · Restricted Project, Restricted Project
sunfish retitled D133037: [lld][WebAssemby] Allow import module names to be empty strings. from [lld][WebAssemby] Allow import names and sections to be empty strings. to [lld][WebAssemby] Allow import module names to be empty strings..
Aug 31 2022, 2:24 PM · Restricted Project, Restricted Project
sunfish requested review of D133037: [lld][WebAssemby] Allow import module names to be empty strings..
Aug 31 2022, 11:45 AM · Restricted Project, Restricted Project

Aug 20 2022

sunfish added a comment to D131376: [wasm-ld] Allow importing/exporting the output module's memory with arbitrary names.

I think its probably simpler to only allow a single start cabi_start definition.. just like any other symbol. It sounds like it should be a linker error to have more than one of them.

Aug 20 2022, 8:26 AM · Restricted Project, Restricted Project

Aug 15 2022

sunfish added a comment to D131376: [wasm-ld] Allow importing/exporting the output module's memory with arbitrary names.

In curious why memorytExports is a set of strings rather than an optional string. Is there a need for exporting the memory with multiple names?

Aug 15 2022, 8:57 AM · Restricted Project, Restricted Project

Jul 20 2022

sunfish added inline comments to D130053: [WebAssembly] Use `localexec` as default TLS model for non-Emscripten targets.
Jul 20 2022, 10:05 AM · Restricted Project, Restricted Project

Jul 19 2022

sunfish added inline comments to D130053: [WebAssembly] Use `localexec` as default TLS model for non-Emscripten targets.
Jul 19 2022, 2:32 PM · Restricted Project, Restricted Project
sunfish added a comment to D130053: [WebAssembly] Use `localexec` as default TLS model for non-Emscripten targets.

LGTM too. For testing, I think it would work to make a copy of llvm/test/CodeGen/WebAssembly/tls-local-exec.ll and change its thread_local(localexec)s to thread_locals.

Jul 19 2022, 9:13 AM · Restricted Project, Restricted Project

Jun 29 2022

sunfish added a comment to D81689: [WebAssembly] New-style command support.

there are use cases for a command to export non-main functions.
eg. malloc/free stuff mentioned in https://github.com/bytecodealliance/wasm-micro-runtime/blob/main/doc/memory_tune.md
this change broke them.

One consideration is that that wamr API doesn't seem compatible with closest thing we have to a spec, which states "Command instances may assume that they will be called from the environment at most once. Command instances may assume that none of their exports are accessed outside the duration of that call.". It's debatable how authoritative that spec is, but the big picture is that there's not currently much clarity on the relationship between LLVM and engines.

  • if "outside the duration of that call" mean it's ok to access exports during the call of _start, the wamr api seems compatible to me. (those malloc/free exports are used during the execution of _start, as far as i understand.)
Jun 29 2022, 8:59 AM · Restricted Project, Restricted Project

Jun 27 2022

sunfish added a comment to D81689: [WebAssembly] New-style command support.

there are use cases for a command to export non-main functions.
eg. malloc/free stuff mentioned in https://github.com/bytecodealliance/wasm-micro-runtime/blob/main/doc/memory_tune.md
this change broke them.

Jun 27 2022, 1:50 PM · Restricted Project, Restricted Project

Jun 15 2022

sunfish added reviewers for D125728: [WebAssembly] Update supported features in -mcpu=generic: asb, sbc100.
Jun 15 2022, 11:48 AM · Restricted Project, Restricted Project
sunfish added reviewers for D125729: [WebAssembly] Update supported features in the generic CPU configuration: asb, sbc100.
Jun 15 2022, 11:47 AM · Restricted Project, Restricted Project
sunfish accepted D127888: [clang][WebAssembly] Loosen restriction on `main` symbol mangling.
Jun 15 2022, 11:46 AM · Restricted Project, Restricted Project

Jun 1 2022

sunfish accepted D75277: [WebAssembly] Remove restriction on main name mangling.
Jun 1 2022, 9:29 AM · Restricted Project, Restricted Project, Restricted Project

May 31 2022

sunfish added inline comments to D75277: [WebAssembly] Remove restriction on main name mangling.
May 31 2022, 3:28 PM · Restricted Project, Restricted Project, Restricted Project
sunfish added inline comments to D75277: [WebAssembly] Remove restriction on main name mangling.
May 31 2022, 3:02 PM · Restricted Project, Restricted Project, Restricted Project
sunfish added inline comments to D75277: [WebAssembly] Remove restriction on main name mangling.
May 31 2022, 1:46 PM · Restricted Project, Restricted Project, Restricted Project

May 20 2022

sunfish updated the diff for D125729: [WebAssembly] Update supported features in the generic CPU configuration.

Update tests to use -mcpu=mvp to avoid breaking their target features when -mcpu=generic changes. And update target-features.ll to for the new -mcpu=generic features.

May 20 2022, 3:55 PM · Restricted Project, Restricted Project
sunfish committed rG59726668f1dc: [WebAssembly] Strip TLS when "atomics" is not enabled (authored by sunfish).
[WebAssembly] Strip TLS when "atomics" is not enabled
May 20 2022, 3:20 PM · Restricted Project, Restricted Project
sunfish closed D125730: [WebAssembly] Strip TLS when "atomics" is not enabled.
May 20 2022, 3:20 PM · Restricted Project, Restricted Project
sunfish updated the diff for D125728: [WebAssembly] Update supported features in -mcpu=generic.

Add tests for -mcpu=mvp and -mcpu=bleeding-edge.

May 20 2022, 2:52 PM · Restricted Project, Restricted Project
sunfish updated the diff for D125728: [WebAssembly] Update supported features in -mcpu=generic.

Add a driver test, and add release notes.

May 20 2022, 2:46 PM · Restricted Project, Restricted Project

May 16 2022

sunfish requested review of D125730: [WebAssembly] Strip TLS when "atomics" is not enabled.
May 16 2022, 3:36 PM · Restricted Project, Restricted Project
sunfish requested review of D125729: [WebAssembly] Update supported features in the generic CPU configuration.
May 16 2022, 2:56 PM · Restricted Project, Restricted Project
sunfish requested review of D125728: [WebAssembly] Update supported features in -mcpu=generic.
May 16 2022, 2:49 PM · Restricted Project, Restricted Project

Mar 14 2022

sunfish added a comment to D121327: Lower `@llvm.global_dtors` using `__cxa_atexit` on MachO.

@sunfish
Hi Dan, I hope you are still happy with this change. I didn't change any WebAssembly tests, but rather added a new IR-level test, so all existing WebAssembly behavior should stay the same. Let me know if you have any concerns.

Mar 14 2022, 5:47 PM · Restricted Project, Restricted Project, Restricted Project

Mar 9 2022

sunfish added a comment to D121327: Lower `@llvm.global_dtors` using `__cxa_atexit` on MachO.

The overall approach here makes sense to me. The tests test/CodeGen/WebAssembly/global_dtors.ll and test/CodeGen/WebAssembly/lower-global-dtors.ll cover the main interesting corner cases that we've hit with this pass; they currently have wasm targets and wasm-specific CHECK lines, but could likely be ported to other targets.

Mar 9 2022, 1:36 PM · Restricted Project, Restricted Project, Restricted Project

Jul 21 2021

sunfish added a comment to D106499: [lld][WebAssembly] Align __heap_base.

Looks good to me too!

Jul 21 2021, 3:53 PM · Restricted Project

Jul 9 2021

sunfish added inline comments to D105749: WebAssembly: Update datalayout to match fp128 ABI change.
Jul 9 2021, 6:35 PM · Restricted Project, Restricted Project

Jun 23 2021

sunfish added a comment to D104808: [clang][emscripten] Reduce alignof long double from 16 to 8 bytes.

Do we still intend to unify Emscripten's ABI with wasm32-unknown-unknown or wasm32-wasi eventually? This is talking a step away from that.

Jun 23 2021, 1:02 PM · Restricted Project

May 6 2021

sunfish added inline comments to D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.
May 6 2021, 5:38 PM · Restricted Project, Restricted Project
sunfish added inline comments to D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.
May 6 2021, 3:17 PM · Restricted Project, Restricted Project
sunfish added inline comments to D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.
May 6 2021, 11:23 AM · Restricted Project, Restricted Project
sunfish added inline comments to D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.
May 6 2021, 10:43 AM · Restricted Project, Restricted Project

Apr 28 2021

sunfish added a comment to D101271: [lld][WebAssembly] Add support for `--export-dynamic-symbol`.

So you think it would be preferable to go with --export-if-defined then, or something wasm specific?

Apr 28 2021, 3:43 PM · Restricted Project
sunfish added a comment to D101271: [lld][WebAssembly] Add support for `--export-dynamic-symbol`.

Looking at the ld documentation for export-dynamic-symbol:

Apr 28 2021, 11:59 AM · Restricted Project
sunfish added a comment to D101271: [lld][WebAssembly] Add support for `--export-dynamic-symbol`.

I'm a little confused by the name "export-dynamic-symbol". I understand it's an ELF flag, though it seems to have a slightly different meaning here. What would you think about adding a warning when using this flag is -experimental-pic isn't passed, similar to what we do with -shared?

Apr 28 2021, 10:51 AM · Restricted Project

Apr 13 2021

sunfish added a comment to D100411: [WebAssembly] Use standard intrinsics for f32x4 and f64x2 ops.

Great, thanks! And yes, switching to roundeven for both scalar and SIMD ISel sounds right to me.

Apr 13 2021, 5:03 PM · Restricted Project, Restricted Project
sunfish accepted D100411: [WebAssembly] Use standard intrinsics for f32x4 and f64x2 ops.

This looks good to me! Could you briefly comment here on what the issue with llvm.roundeven is?

Apr 13 2021, 4:15 PM · Restricted Project, Restricted Project

Feb 26 2021

sunfish committed rGc62dabc3f501: [WebAssembly] Avoid `bit_cast` when printing f32 and f64 immediates (authored by sunfish).
[WebAssembly] Avoid `bit_cast` when printing f32 and f64 immediates
Feb 26 2021, 2:20 PM
sunfish closed D97490: [WebAssembly] Avoid `bit_cast` when printing f32 and f64 immediates.
Feb 26 2021, 2:19 PM · Restricted Project

Feb 25 2021

sunfish requested review of D97490: [WebAssembly] Avoid `bit_cast` when printing f32 and f64 immediates.
Feb 25 2021, 11:17 AM · Restricted Project

Feb 11 2021

sunfish committed rGf9c05fc39145: [WebAssembly] Use the new crt1-command.o if present. (authored by sunfish).
[WebAssembly] Use the new crt1-command.o if present.
Feb 11 2021, 2:45 PM
sunfish closed D89274: [WebAssembly] Use the new crt1-command.o if present..
Feb 11 2021, 2:44 PM · Restricted Project

Feb 10 2021

sunfish added a comment to D89274: [WebAssembly] Use the new crt1-command.o if present..

I don't see a way to do this with weak symbols, and an install script would be yet-another moving part that we'd have to make on end-user systems.

Feb 10 2021, 5:02 PM · Restricted Project
sunfish added a comment to D89274: [WebAssembly] Use the new crt1-command.o if present..

It's to ensure that older LLVM works with newer WASI libc, and newer clang works with older WASI libc. New-style commands require [lld support]. We can assume that if clang is updated, lld has the requisite support.

Feb 10 2021, 3:42 PM · Restricted Project
sunfish added a comment to D89274: [WebAssembly] Use the new crt1-command.o if present..

Ping!

Feb 10 2021, 10:24 AM · Restricted Project

Feb 4 2021

sunfish committed rG95da64da23ac: [WebAssembly] Use single-threaded mode when -matomics isn't enabled. (authored by sunfish).
[WebAssembly] Use single-threaded mode when -matomics isn't enabled.
Feb 4 2021, 6:17 PM
sunfish closed D96091: [WebAssembly] Use single-threaded mode when -matomics isn't enabled..
Feb 4 2021, 6:17 PM · Restricted Project
sunfish committed rG698c6b0a099b: [WebAssembly] Support single-floating-point immediate value (authored by sunfish).
[WebAssembly] Support single-floating-point immediate value
Feb 4 2021, 6:06 PM
sunfish closed D77384: [WebAssembly] Support single-floating-point immediate value.
Feb 4 2021, 6:06 PM · Restricted Project
sunfish requested review of D96091: [WebAssembly] Use single-threaded mode when -matomics isn't enabled..
Feb 4 2021, 4:16 PM · Restricted Project

Jan 4 2021

sunfish accepted D77384: [WebAssembly] Support single-floating-point immediate value.

Looks good!

Jan 4 2021, 7:04 AM · Restricted Project

Oct 13 2020

sunfish abandoned D89293: [WebAssembly] Don't GC constructors from libraries under --whole-archive.

Abandoned in favor of https://reviews.llvm.org/D89290 .

Oct 13 2020, 5:53 AM · Restricted Project

Oct 12 2020

sunfish added a comment to D89293: [WebAssembly] Don't GC constructors from libraries under --whole-archive.

Either patch works for me. Yours is shorter :-).

Oct 12 2020, 9:17 PM · Restricted Project
sunfish accepted D89290: [lld][WebAssembly] Don't GC library objects under `--whole-archive`.

LGTM; thanks for fixing this!

Oct 12 2020, 9:16 PM · Restricted Project
sunfish added a comment to D85062: [WebAssembly] GC constructor functions in otherwise unused archive objects.

Fix (I believe) is in https://reviews.llvm.org/D89290

Oct 12 2020, 9:15 PM · Restricted Project
sunfish requested review of D89293: [WebAssembly] Don't GC constructors from libraries under --whole-archive.
Oct 12 2020, 9:13 PM · Restricted Project
sunfish committed rG950ae4309112: [WebAssembly] GC constructor functions in otherwise unused archive objects (authored by sunfish).
[WebAssembly] GC constructor functions in otherwise unused archive objects
Oct 12 2020, 6:55 PM
sunfish closed D85062: [WebAssembly] GC constructor functions in otherwise unused archive objects.
Oct 12 2020, 6:55 PM · Restricted Project
sunfish requested review of D89274: [WebAssembly] Use the new crt1-command.o if present..
Oct 12 2020, 2:57 PM · Restricted Project
sunfish added a comment to D85062: [WebAssembly] GC constructor functions in otherwise unused archive objects.

I've finished addressing the review comments, so this is now ready for review again.

Oct 12 2020, 2:53 PM · Restricted Project

Sep 30 2020

sunfish added inline comments to D85062: [WebAssembly] GC constructor functions in otherwise unused archive objects.
Sep 30 2020, 8:39 PM · Restricted Project
sunfish updated the diff for D85062: [WebAssembly] GC constructor functions in otherwise unused archive objects.

Address review feedback.

Sep 30 2020, 8:38 PM · Restricted Project
sunfish closed D81689: [WebAssembly] New-style command support.

Thanks! Description updated, fixes applied, and landed in https://reviews.llvm.org/rG6cd8511e5932

Sep 30 2020, 7:06 PM · Restricted Project, Restricted Project
sunfish committed rG6cd8511e5932: [WebAssembly] New-style command support (authored by sunfish).
[WebAssembly] New-style command support
Sep 30 2020, 7:03 PM
sunfish updated the summary of D81689: [WebAssembly] New-style command support.
Sep 30 2020, 5:19 PM · Restricted Project, Restricted Project