Page MenuHomePhabricator

aardappel (Wouter van Oortmerssen)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 9 2018, 11:57 AM (141 w, 6 d)

Recent Activity

Fri, Nov 13

aardappel committed rG16f02431dc53: [WebAssembly] Added R_WASM_FUNCTION_OFFSET_I64 for use with DWARF DW_AT_low_pc (authored by aardappel).
[WebAssembly] Added R_WASM_FUNCTION_OFFSET_I64 for use with DWARF DW_AT_low_pc
Fri, Nov 13, 9:33 AM
aardappel closed D91395: [WebAssembly] Added R_WASM_FUNCTION_OFFSET_I64 for use with DWARF DW_AT_low_pc.
Fri, Nov 13, 9:33 AM · Restricted Project

Thu, Nov 12

aardappel requested review of D91395: [WebAssembly] Added R_WASM_FUNCTION_OFFSET_I64 for use with DWARF DW_AT_low_pc.
Thu, Nov 12, 4:43 PM · Restricted Project
aardappel abandoned D91203: [WebAssembly] Fixed wasm64 DWARF using 64-bit code pointer sizes.

After discussion with more Wasm+DWARF interested parties, it became clear that asking producers and consumers of DWARF to treat DW_FORM_addr as anything other than architecture dependent is going to be problematic, so the way forward for now is to make this field 64-bit on wasm64 as intended, and leave it 32-bit on wasm32.

Thu, Nov 12, 1:54 PM · Restricted Project
aardappel added a comment to D91203: [WebAssembly] Fixed wasm64 DWARF using 64-bit code pointer sizes.

@yurydelendik note that wasm64 is an LLVM-level construct, in general Wasm we may one day have multiple memories, which means that "being 64-bit" is a property of each load/store instruction individually. So assuming we have a DWARF section associated with a possibly mixed mode Wasm module, there's no way to determine the size of DW_AT_low_pc or DW_FORM_addr from the module.

Thu, Nov 12, 9:11 AM · Restricted Project

Tue, Nov 10

aardappel added a comment to D91203: [WebAssembly] Fixed wasm64 DWARF using 64-bit code pointer sizes.

As for how to make a test for this.. The code before this patch would (I assume) write 4 extra bytes, which would cause dwarfdump to show incorrect information. Our existing test however wasn't affected. So to cover this patch against regression would require some larger dwarfdump example I guess..

Tue, Nov 10, 3:15 PM · Restricted Project
aardappel added a comment to D91203: [WebAssembly] Fixed wasm64 DWARF using 64-bit code pointer sizes.

@dblaikie Confusingly, these are all different: function pointers at runtime (in a Wasm VM) are 32-bit indices. LLVM function pointers are 64-bit in wasm64 for consistency, but get truncated when lowered in Isel. Then here we have a 3rd kind of code pointer, just for DWARF, since Wasm doesn't have the concept of a pointer to an instruction inside a function (which DWARF needs for DW_AT_low_pc, and we need to relocate).

Tue, Nov 10, 1:44 PM · Restricted Project
aardappel added a comment to D91203: [WebAssembly] Fixed wasm64 DWARF using 64-bit code pointer sizes.

Note this has not been tested on non-Wasm platforms yet. Wanted to first get feedback if this is a legit way to solve the problem, or if there are better ways.

Tue, Nov 10, 1:27 PM · Restricted Project
aardappel requested review of D91203: [WebAssembly] Fixed wasm64 DWARF using 64-bit code pointer sizes.
Tue, Nov 10, 1:25 PM · Restricted Project
aardappel added a comment to D90948: [WebAssembly] [WIP] call_indirect issues table number relocs.

MC parts generally look good to me.

Tue, Nov 10, 10:20 AM · Restricted Project

Fri, Oct 30

aardappel added a comment to D90503: [WebAssembly] Fixed DWARF DW_AT_low_pc encoded as 64-bit in wasm64.

The paths in this test only worked on Windows. A fix has been pushed in b093eba08478db387fc2765dee1e1bf2d64fcf68

Fri, Oct 30, 5:39 PM · Restricted Project
aardappel committed rGb093eba08478: [WebAssembly] fix paths in dwarfdump64.ll test (authored by aardappel).
[WebAssembly] fix paths in dwarfdump64.ll test
Fri, Oct 30, 5:36 PM
aardappel committed rG86cd2332ce76: [WebAssembly] Fixed DWARF DW_AT_low_pc encoded as 64-bit in wasm64 (authored by aardappel).
[WebAssembly] Fixed DWARF DW_AT_low_pc encoded as 64-bit in wasm64
Fri, Oct 30, 4:43 PM
aardappel closed D90503: [WebAssembly] Fixed DWARF DW_AT_low_pc encoded as 64-bit in wasm64.
Fri, Oct 30, 4:43 PM · Restricted Project
aardappel updated the diff for D90503: [WebAssembly] Fixed DWARF DW_AT_low_pc encoded as 64-bit in wasm64.

updated test for --show-form and added TODO

Fri, Oct 30, 4:40 PM · Restricted Project
aardappel retitled D90503: [WebAssembly] Fixed DWARF DW_AT_low_pc encoded as 64-bit in wasm64 from [WebAssembly] Improved LLD error messages in case of mixed wasm32/wasm64 object files to [WebAssembly] Fixed DWARF DW_AT_low_pc encoded as 64-bit in wasm64.
Fri, Oct 30, 2:39 PM · Restricted Project
aardappel requested review of D90503: [WebAssembly] Fixed DWARF DW_AT_low_pc encoded as 64-bit in wasm64.
Fri, Oct 30, 2:37 PM · Restricted Project
aardappel accepted D90443: [lld][WebAssembly] Give better warnings on bad relocation sites.
Fri, Oct 30, 9:20 AM · Restricted Project

Thu, Oct 29

aardappel committed rGb8c2d60df522: [WebAssembly] Improved LLD error messages in case of mixed wasm32/wasm64 object… (authored by aardappel).
[WebAssembly] Improved LLD error messages in case of mixed wasm32/wasm64 object…
Thu, Oct 29, 5:16 PM
aardappel closed D90428: [WebAssembly] Improved LLD error messages in case of mixed wasm32/wasm64 object files.
Thu, Oct 29, 5:16 PM · Restricted Project
aardappel updated the diff for D90428: [WebAssembly] Improved LLD error messages in case of mixed wasm32/wasm64 object files.

Review fixes and tests.

Thu, Oct 29, 5:09 PM · Restricted Project
aardappel added inline comments to D90428: [WebAssembly] Improved LLD error messages in case of mixed wasm32/wasm64 object files.
Thu, Oct 29, 5:07 PM · Restricted Project
aardappel added inline comments to D90428: [WebAssembly] Improved LLD error messages in case of mixed wasm32/wasm64 object files.
Thu, Oct 29, 3:01 PM · Restricted Project
aardappel requested review of D90428: [WebAssembly] Improved LLD error messages in case of mixed wasm32/wasm64 object files.
Thu, Oct 29, 2:04 PM · Restricted Project
aardappel accepted D90416: [WebAssembly] Remove unused FileCheck test prefixes.
Thu, Oct 29, 1:14 PM · Restricted Project

Oct 1 2020

aardappel added inline comments to D88603: [WebAssembly] Add support for DWARF type units.
Oct 1 2020, 12:58 PM · Restricted Project, Restricted Project

Sep 17 2020

aardappel added inline comments to D85685: Support dwarf fission for wasm object files.
Sep 17 2020, 9:23 AM · Restricted Project, Restricted Project

Sep 11 2020

aardappel accepted D87536: [lld][WebAssembly] Convert a objyaml-using test to assembly.
Sep 11 2020, 2:14 PM · Restricted Project
aardappel accepted D87515: [WebAssembly] Add assembly syntax for mutable globals.
Sep 11 2020, 10:31 AM · Restricted Project

Aug 12 2020

aardappel committed rGb52fc59e1704: [WebAssembly] Fixed memory.init always using 64-bit ptr (authored by aardappel).
[WebAssembly] Fixed memory.init always using 64-bit ptr
Aug 12 2020, 12:25 PM

Aug 10 2020

aardappel accepted D85685: Support dwarf fission for wasm object files.

Nice, fairly unintrusive actually. If you desperately wanted to fix the need for changing W dynamically, you could instead make it allocate a second WasmObjectWriter to write the dwo version? :)

Aug 10 2020, 5:13 PM · Restricted Project, Restricted Project
aardappel committed rG582fd474ddc0: [WebAssembly] wasm64: fix memory.init operand types (authored by aardappel).
[WebAssembly] wasm64: fix memory.init operand types
Aug 10 2020, 10:15 AM
aardappel closed D85552: [WebAssembly] wasm64: fix memory.init operand types.
Aug 10 2020, 10:15 AM · Restricted Project

Aug 7 2020

aardappel requested review of D85552: [WebAssembly] wasm64: fix memory.init operand types.
Aug 7 2020, 1:26 PM · Restricted Project

Jul 30 2020

aardappel committed rGce1eb7af9dc1: [WebAssembly] Fixed 64-bit indices in br_table (authored by aardappel).
[WebAssembly] Fixed 64-bit indices in br_table
Jul 30 2020, 10:53 AM
aardappel closed D84705: [WebAssembly] Fixed 64-bit indices in br_table.
Jul 30 2020, 10:52 AM · Restricted Project

Jul 27 2020

aardappel updated the diff for D84705: [WebAssembly] Fixed 64-bit indices in br_table.

Replace fragile way of finding the extend instruction by just getting the def of the br_table operand.

Jul 27 2020, 3:44 PM · Restricted Project
Herald added a project to D84705: [WebAssembly] Fixed 64-bit indices in br_table: Restricted Project.
Jul 27 2020, 3:04 PM · Restricted Project

Jul 21 2020

aardappel accepted D84094: [DebugInfo] Fix misleading using of DWARF forms with DIELabel. NFCI..
Jul 21 2020, 11:09 AM · debug-info, Restricted Project

Jul 20 2020

aardappel updated subscribers of D84094: [DebugInfo] Fix misleading using of DWARF forms with DIELabel. NFCI..

Ok, so we had incorrectly specified DW_FORM_udata for the label, but AddLabel had previously caused it to be emitted as an int32 anyway? So this doesn't change anything about the DWARF output?

Jul 20 2020, 8:04 AM · debug-info, Restricted Project

Jul 16 2020

aardappel committed rGcc1b9b680f89: [WebAssembly] 64-bit (function) pointer fixes. (authored by aardappel).
[WebAssembly] 64-bit (function) pointer fixes.
Jul 16 2020, 2:11 PM
aardappel closed D83729: [WebAssembly] 64-bit (function) pointer fixes..
Jul 16 2020, 2:10 PM · Restricted Project
aardappel added inline comments to D83729: [WebAssembly] 64-bit (function) pointer fixes..
Jul 16 2020, 1:47 PM · Restricted Project
aardappel updated the diff for D83729: [WebAssembly] 64-bit (function) pointer fixes..

Code review fixes

Jul 16 2020, 12:27 PM · Restricted Project
aardappel added inline comments to D83729: [WebAssembly] 64-bit (function) pointer fixes..
Jul 16 2020, 12:26 PM · Restricted Project
aardappel committed rG29f8c9f6c25d: [WebAssembly] Triple::wasm64 related cleanup (authored by aardappel).
[WebAssembly] Triple::wasm64 related cleanup
Jul 16 2020, 12:02 PM
aardappel closed D83713: [WebAssembly] Triple::wasm64 related cleanup.
Jul 16 2020, 12:02 PM · Restricted Project, Restricted Project

Jul 13 2020

aardappel updated the diff for D83713: [WebAssembly] Triple::wasm64 related cleanup.

Made LLD is64 optional, so we can know if is set consistently.

Jul 13 2020, 5:41 PM · Restricted Project, Restricted Project
aardappel added inline comments to D83729: [WebAssembly] 64-bit (function) pointer fixes..
Jul 13 2020, 5:26 PM · Restricted Project
Herald added a project to D83729: [WebAssembly] 64-bit (function) pointer fixes.: Restricted Project.
Jul 13 2020, 4:35 PM · Restricted Project
Herald added projects to D83713: [WebAssembly] Triple::wasm64 related cleanup: Restricted Project, Restricted Project.
Jul 13 2020, 1:02 PM · Restricted Project, Restricted Project
aardappel closed D83106: [WebAssembly] 64-bit memory limits.

Already landed.

Jul 13 2020, 1:00 PM · Restricted Project

Jul 7 2020

aardappel committed rGfd0964ae8340: [WebAssembly] fix gcc 10 warning (authored by aardappel).
[WebAssembly] fix gcc 10 warning
Jul 7 2020, 5:56 PM

Jul 6 2020

aardappel added inline comments to D81704: [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs.
Jul 6 2020, 5:58 PM · Restricted Project
aardappel committed rG16d83c395a1f: [WebAssembly] Added 64-bit memory.grow/size/copy/fill (authored by aardappel).
[WebAssembly] Added 64-bit memory.grow/size/copy/fill
Jul 6 2020, 12:50 PM
aardappel closed D82821: [WebAssembly] Added 64-bit memory.grow/size/init/copy/fill.
Jul 6 2020, 12:50 PM · Restricted Project, Restricted Project
aardappel committed rG4d135b0446dc: [WebAssembly] 64-bit memory limits (authored by aardappel).
[WebAssembly] 64-bit memory limits
Jul 6 2020, 12:41 PM
aardappel updated the diff for D83106: [WebAssembly] 64-bit memory limits.

Test uses 32/64-bit specific .o files

Jul 6 2020, 12:37 PM · Restricted Project
aardappel updated the diff for D82821: [WebAssembly] Added 64-bit memory.grow/size/init/copy/fill.

Reinstated init/drop defs + test

Jul 6 2020, 12:07 PM · Restricted Project, Restricted Project
aardappel updated the diff for D83106: [WebAssembly] 64-bit memory limits.

Added part of LLD data-layout.ll test

Jul 6 2020, 11:16 AM · Restricted Project

Jul 3 2020

aardappel added a comment to D83106: [WebAssembly] 64-bit memory limits.

@sbc100 any suggestion for which test would be best to add a 64-bit version of? Most important thing is to ensure LLD is outputting 64-bit memory limits

Jul 3 2020, 8:01 PM · Restricted Project

Jul 2 2020

aardappel added a comment to D83106: [WebAssembly] 64-bit memory limits.

Not much happening here, other than updating the memory limits writing. Probably needs an LLD specific test, @sbc100 ?

Jul 2 2020, 5:50 PM · Restricted Project
aardappel created D83106: [WebAssembly] 64-bit memory limits.
Jul 2 2020, 5:50 PM · Restricted Project
aardappel added inline comments to D82821: [WebAssembly] Added 64-bit memory.grow/size/init/copy/fill.
Jul 2 2020, 4:45 PM · Restricted Project, Restricted Project
aardappel updated the diff for D82821: [WebAssembly] Added 64-bit memory.grow/size/init/copy/fill.

Removed unused init/drop intrinsics instead of trying to make them work for wasm64.
Also testing bulk-memory-encoding.s

Jul 2 2020, 4:45 PM · Restricted Project, Restricted Project
aardappel added inline comments to D82821: [WebAssembly] Added 64-bit memory.grow/size/init/copy/fill.
Jul 2 2020, 2:03 PM · Restricted Project, Restricted Project

Jun 29 2020

aardappel added a comment to D82821: [WebAssembly] Added 64-bit memory.grow/size/init/copy/fill.

@tlively I have no idea if my changes in IntrinsicsWebAssembly.td make sense, they merely pass the tests ;) please advise.

Jun 29 2020, 4:39 PM · Restricted Project, Restricted Project
aardappel created D82821: [WebAssembly] Added 64-bit memory.grow/size/init/copy/fill.
Jun 29 2020, 4:39 PM · Restricted Project, Restricted Project

Jun 25 2020

aardappel committed rGb9a539c01084: [WebAssembly] Adding 64-bit versions of __stack_pointer and other globals (authored by aardappel).
[WebAssembly] Adding 64-bit versions of __stack_pointer and other globals
Jun 25 2020, 4:24 PM
aardappel closed D82130: [WebAssembly] Adding 64-bit versions of __stack_pointer and other globals.
Jun 25 2020, 4:24 PM · Restricted Project, Restricted Project
aardappel updated the diff for D82130: [WebAssembly] Adding 64-bit versions of __stack_pointer and other globals.

types & variables in InputChunks.cpp

Jun 25 2020, 3:51 PM · Restricted Project, Restricted Project
aardappel updated the diff for D82130: [WebAssembly] Adding 64-bit versions of __stack_pointer and other globals.
  • Fixed ISEL for FrameIndex
  • Fixed 64-bit conditions in branches (thanks @aheejin!)
  • Made the FrameIndex generation code in WebAssemblyRegisterInfo work.
  • Made userstack.ll and stack-alignment.ll pass in wasm64.
  • Code review fixes.
Jun 25 2020, 2:11 PM · Restricted Project, Restricted Project

Jun 22 2020

aardappel added a comment to D82130: [WebAssembly] Adding 64-bit versions of __stack_pointer and other globals.

@dschuff still working on it, it uncovered some issues (as it should :)

Jun 22 2020, 5:12 PM · Restricted Project, Restricted Project
aardappel added a comment to D82130: [WebAssembly] Adding 64-bit versions of __stack_pointer and other globals.

I'll likely fork userstack.ll since the majority of lines need changes.

Jun 22 2020, 9:39 AM · Restricted Project, Restricted Project

Jun 18 2020

aardappel added a comment to D82130: [WebAssembly] Adding 64-bit versions of __stack_pointer and other globals.

This is a first iteration, probably needs more tests :) I was thinking of forking userstack.ll since it has most __stack_pointer tests, but I am not sure if it's that useful. Needs a test that uses the new wasm-ld flag. Opinions welcome.

Jun 18 2020, 3:54 PM · Restricted Project, Restricted Project
aardappel updated the diff for D82130: [WebAssembly] Adding 64-bit versions of __stack_pointer and other globals.
Jun 18 2020, 3:54 PM · Restricted Project, Restricted Project
aardappel created D82130: [WebAssembly] Adding 64-bit versions of __stack_pointer and other globals.
Jun 18 2020, 3:54 PM · Restricted Project, Restricted Project

Jun 15 2020

aardappel added inline comments to D81704: [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs.
Jun 15 2020, 10:59 AM · Restricted Project
aardappel added inline comments to D81704: [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs.
Jun 15 2020, 10:55 AM · Restricted Project
aardappel committed rG3b29376e3fca: [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs (authored by aardappel).
[WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs
Jun 15 2020, 10:24 AM
aardappel closed D81704: [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs.
Jun 15 2020, 10:24 AM · Restricted Project
aardappel updated the diff for D81704: [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs.

Made dedicated supportsWasm64/resolveWasm64 rather than sharing the Wasm32 versions.

Jun 15 2020, 10:23 AM · Restricted Project
aardappel updated the diff for D81704: [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs.

Rebased against previous commit

Jun 15 2020, 9:49 AM · Restricted Project
aardappel added a comment to D81704: [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs.

Thanks for the tips. Though frankly in this case I should have tried to make this commit independent, since significant changes in the other one made rebasing a mess.

Jun 15 2020, 9:47 AM · Restricted Project
aardappel committed rGd9e0bbd17b0e: [WebAssembly] Adding 64-bit versions of all load & store ops. (authored by aardappel).
[WebAssembly] Adding 64-bit versions of all load & store ops.
Jun 15 2020, 8:42 AM
aardappel closed D80769: [WebAssembly] Adding 64-bit versions of all load & store ops..
Jun 15 2020, 8:41 AM · Restricted Project

Jun 12 2020

aardappel added inline comments to D81704: [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs.
Jun 12 2020, 6:15 PM · Restricted Project
aardappel updated the diff for D80769: [WebAssembly] Adding 64-bit versions of all load & store ops..

Added HasAddr32|64 to all the patterns.

Jun 12 2020, 4:34 PM · Restricted Project
aardappel added inline comments to D80769: [WebAssembly] Adding 64-bit versions of all load & store ops..
Jun 12 2020, 4:34 PM · Restricted Project
aardappel added a comment to D81704: [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs.

@sbc100 Like I said, I think these silent truncations by using explicit types are a maintenance problem which the guidelines mention.

Jun 12 2020, 2:49 PM · Restricted Project
aardappel updated the diff for D80769: [WebAssembly] Adding 64-bit versions of all load & store ops..

80-column wrapping

Jun 12 2020, 1:42 PM · Restricted Project
aardappel added inline comments to D80769: [WebAssembly] Adding 64-bit versions of all load & store ops..
Jun 12 2020, 1:42 PM · Restricted Project
aardappel updated the diff for D80769: [WebAssembly] Adding 64-bit versions of all load & store ops..

Refactored atomic patterns

Jun 12 2020, 12:35 PM · Restricted Project
aardappel added a comment to D81704: [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs.

as for auto, indeed its says "Use auto if and only if it makes the code more readable or easier to maintain". That was exactly my point when I mentioned "The reason I replaced these with auto is we had a bunch of spots where we had unnecessary truncation because of a uint32_t var = exp that results in a 64-bit value. Using auto avoids these problems, now, and with future changes."

Jun 12 2020, 11:26 AM · Restricted Project
aardappel added inline comments to D80769: [WebAssembly] Adding 64-bit versions of all load & store ops..
Jun 12 2020, 11:26 AM · Restricted Project
aardappel updated the diff for D81704: [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs.

Changed init expr to use all union types, and added code to check for opcode.
Other misc code review.
Fixed linker error due to tablegen adding both generated functions to same #ifdef :(
clang-format

Jun 12 2020, 10:19 AM · Restricted Project
aardappel added inline comments to D81704: [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs.
Jun 12 2020, 10:19 AM · Restricted Project

Jun 11 2020

aardappel created D81704: [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs.
Jun 11 2020, 5:39 PM · Restricted Project

Jun 8 2020

aardappel added inline comments to D80769: [WebAssembly] Adding 64-bit versions of all load & store ops..
Jun 8 2020, 12:08 PM · Restricted Project
aardappel updated the diff for D80769: [WebAssembly] Adding 64-bit versions of all load & store ops..

Added HasAddr64 to patterns, and made it default for instructions.

Jun 8 2020, 9:56 AM · Restricted Project