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 (170 w, 15 h)

Recent Activity

Thu, May 20

aardappel committed rG3a293cbf13a2: [WebAssembly] Fix PIC/GOT codegen for wasm64 (authored by aardappel).
[WebAssembly] Fix PIC/GOT codegen for wasm64
Thu, May 20, 10:02 AM
aardappel closed D101784: [WebAssembly] Fix PIC/GOT codegen for wasm64.
Thu, May 20, 10:01 AM · Restricted Project
aardappel updated the diff for D101784: [WebAssembly] Fix PIC/GOT codegen for wasm64.

reworked test for .s format and rebasing

Thu, May 20, 10:01 AM · Restricted Project

May 10 2021

aardappel updated the diff for D101784: [WebAssembly] Fix PIC/GOT codegen for wasm64.

fixed --check-prefixes

May 10 2021, 9:32 AM · Restricted Project

May 6 2021

aardappel updated the diff for D101784: [WebAssembly] Fix PIC/GOT codegen for wasm64.

Addressed code review.

May 6 2021, 4:29 PM · Restricted Project
aardappel added inline comments to D101784: [WebAssembly] Fix PIC/GOT codegen for wasm64.
May 6 2021, 4:20 PM · Restricted Project
aardappel accepted D101985: [WebAssembly] Support Emscripten EH/SjLj in Wasm64.
May 6 2021, 11:44 AM · Restricted Project

May 3 2021

aardappel requested review of D101784: [WebAssembly] Fix PIC/GOT codegen for wasm64.
May 3 2021, 12:54 PM · Restricted Project
aardappel added a comment to D101736: [WebAssembly] Allow DBG_VALUE after terminator in MachineVerifier.

Yes, this makes sense to me. Another way to put it is that our br_if has the side effect of forcing termination of a "register" lifetime, which is uncommon.

May 3 2021, 9:58 AM · Restricted Project

Apr 22 2021

aardappel accepted D100995: [WebAssembly] Put utility functions in Utils directory (NFC).

Thanks for doing this, was sorely needed :)

Apr 22 2021, 11:08 AM · Restricted Project

Apr 8 2021

aardappel committed rG04e9cd09c888: [WebAssembly] Fix for PIC external symbol ISEL (authored by aardappel).
[WebAssembly] Fix for PIC external symbol ISEL
Apr 8 2021, 12:08 PM
aardappel closed D99904: [WebAssembly] Fix for PIC external symbol ISEL.
Apr 8 2021, 12:08 PM · Restricted Project
aardappel added inline comments to D99904: [WebAssembly] Fix for PIC external symbol ISEL.
Apr 8 2021, 12:05 PM · Restricted Project

Apr 5 2021

aardappel requested review of D99904: [WebAssembly] Fix for PIC external symbol ISEL.
Apr 5 2021, 4:06 PM · Restricted Project

Mar 26 2021

aardappel accepted D99410: [WebAssembly] Fix incorrect DW_TAG_pointer_type size in test.

Thanks, that would make sense, since this test was probably adapted from the 32-bit version.

Mar 26 2021, 11:02 AM · Restricted Project

Mar 8 2021

aardappel added a comment to D96659: [WebAssembly] Add new relocation for location relative data.

I can land it.. let me pull it in locally and run tests to be sure.

Mar 8 2021, 10:13 AM · Restricted Project

Mar 1 2021

aardappel committed rGa0f4526836a7: [WebAssembly] Fix split-dwarf not emitting DW_OP_WASM_location correctly (authored by aardappel).
[WebAssembly] Fix split-dwarf not emitting DW_OP_WASM_location correctly
Mar 1 2021, 11:54 AM
aardappel closed D97564: [WebAssembly] Fix split-dwarf not emitting DW_OP_WASM_location correctly.
Mar 1 2021, 11:53 AM · Restricted Project
aardappel added inline comments to D97564: [WebAssembly] Fix split-dwarf not emitting DW_OP_WASM_location correctly.
Mar 1 2021, 11:52 AM · Restricted Project
aardappel updated the diff for D97564: [WebAssembly] Fix split-dwarf not emitting DW_OP_WASM_location correctly.

Fixed windows path & test leaving non-temp files behind.

Mar 1 2021, 11:51 AM · Restricted Project

Feb 26 2021

aardappel added a comment to D97564: [WebAssembly] Fix split-dwarf not emitting DW_OP_WASM_location correctly.

Would it make sense to also run e.g. llvm/test/MC/WebAssembly/debug-localvar.ll with split-dwarf?

Feb 26 2021, 12:55 PM · Restricted Project
aardappel updated the diff for D97564: [WebAssembly] Fix split-dwarf not emitting DW_OP_WASM_location correctly.

Added test

Feb 26 2021, 12:52 PM · Restricted Project
aardappel requested review of D97564: [WebAssembly] Fix split-dwarf not emitting DW_OP_WASM_location correctly.
Feb 26 2021, 9:56 AM · Restricted Project

Feb 19 2021

aardappel added a comment to D96659: [WebAssembly] Add new relocation for location relative data.

Ok, well, I am fine with this patch if @sbc100 is.

Feb 19 2021, 10:16 AM · Restricted Project

Feb 18 2021

aardappel added a comment to D96659: [WebAssembly] Add new relocation for location relative data.

This generally looks nice to me.. but my reservations on how useful this is beyond a singular use case still stand: https://github.com/WebAssembly/tool-conventions/issues/162

Feb 18 2021, 1:49 PM · Restricted Project
aardappel committed rG508aa69e9dbc: [WebAssembly] Fix assert in lookup of section symbols (authored by aardappel).
[WebAssembly] Fix assert in lookup of section symbols
Feb 18 2021, 11:51 AM
aardappel closed D96473: [WebAssembly] Fix assert in lookup of section symbols.
Feb 18 2021, 11:50 AM · Restricted Project
aardappel updated the diff for D96473: [WebAssembly] Fix assert in lookup of section symbols.

Added bug todo

Feb 18 2021, 11:48 AM · Restricted Project
aardappel added inline comments to D96473: [WebAssembly] Fix assert in lookup of section symbols.
Feb 18 2021, 11:45 AM · Restricted Project

Feb 10 2021

aardappel updated the diff for D96473: [WebAssembly] Fix assert in lookup of section symbols.
Feb 10 2021, 5:37 PM · Restricted Project
aardappel requested review of D96473: [WebAssembly] Fix assert in lookup of section symbols.
Feb 10 2021, 5:36 PM · Restricted Project

Feb 5 2021

aardappel committed rGa872ee2f36d1: [WebAssembly] ensure .functype applies to right label in assembler (authored by aardappel).
[WebAssembly] ensure .functype applies to right label in assembler
Feb 5 2021, 3:37 PM
aardappel closed D96165: [WebAssembly] ensure .functype applies to right label in assembler.
Feb 5 2021, 3:36 PM · Restricted Project
aardappel added inline comments to D96165: [WebAssembly] ensure .functype applies to right label in assembler.
Feb 5 2021, 3:35 PM · Restricted Project
aardappel updated the diff for D96165: [WebAssembly] ensure .functype applies to right label in assembler.

simplified and generalized .functype handing

Feb 5 2021, 3:12 PM · Restricted Project
aardappel added inline comments to D96165: [WebAssembly] ensure .functype applies to right label in assembler.
Feb 5 2021, 2:12 PM · Restricted Project
aardappel committed rG5e5b2cb131c2: [WebAssembly] Prevent data inside text sections in assembly (authored by aardappel).
[WebAssembly] Prevent data inside text sections in assembly
Feb 5 2021, 1:49 PM
aardappel closed D95838: [WebAssembly] Prevent data inside text sections in assembly.
Feb 5 2021, 1:49 PM · Restricted Project
aardappel added inline comments to D95838: [WebAssembly] Prevent data inside text sections in assembly.
Feb 5 2021, 1:46 PM · Restricted Project
aardappel updated the diff for D95838: [WebAssembly] Prevent data inside text sections in assembly.

Further refactor the symbol type accessors

Feb 5 2021, 1:45 PM · Restricted Project
aardappel added a comment to D96165: [WebAssembly] ensure .functype applies to right label in assembler.

Fixes (part of) https://bugs.llvm.org/show_bug.cgi?id=49036

Feb 5 2021, 11:18 AM · Restricted Project
aardappel committed rGe3c0b0fe0958: [WebAssembly] locals can now be indirect in DWARF (authored by aardappel).
[WebAssembly] locals can now be indirect in DWARF
Feb 5 2021, 11:15 AM
aardappel closed D94347: [WebAssembly] locals can now be indirect in DWARF.
Feb 5 2021, 11:15 AM · Restricted Project
aardappel requested review of D96165: [WebAssembly] ensure .functype applies to right label in assembler.
Feb 5 2021, 11:13 AM · Restricted Project

Feb 4 2021

aardappel updated the diff for D94347: [WebAssembly] locals can now be indirect in DWARF.

To @pfaffe suggestion changed representation such that TI_LOCAL_INDIRECT emits neither a DW_OP_deref nor DW_OP_stack_value since the result of the expression is already a pointer to the value.

Feb 4 2021, 3:09 PM · Restricted Project
aardappel updated the diff for D95838: [WebAssembly] Prevent data inside text sections in assembly.
  • Moved checking of type to AsmParser label parsing.
  • Improved MCSymbolWasm default type handling slightly.
  • Added error test case.
Feb 4 2021, 2:46 PM · Restricted Project
aardappel added inline comments to D94347: [WebAssembly] locals can now be indirect in DWARF.
Feb 4 2021, 11:08 AM · Restricted Project

Feb 1 2021

aardappel added inline comments to D95838: [WebAssembly] Prevent data inside text sections in assembly.
Feb 1 2021, 5:36 PM · Restricted Project
aardappel updated the diff for D95838: [WebAssembly] Prevent data inside text sections in assembly.
Feb 1 2021, 5:30 PM · Restricted Project
aardappel requested review of D95838: [WebAssembly] Prevent data inside text sections in assembly.
Feb 1 2021, 5:22 PM · Restricted Project
aardappel added a comment to D94347: [WebAssembly] locals can now be indirect in DWARF.

Please see DwarfExpression.cpp if you think that Memory is indeed the correct LocationKind in this case. It is this kind not being Implicit that suppresses the DW_OP_stack_value from being emitted at the end of DwarfExpression::addExpression.

Feb 1 2021, 3:37 PM · Restricted Project
aardappel updated the diff for D94347: [WebAssembly] locals can now be indirect in DWARF.

Removed the redundant DW_OP_stack_value after DW_OP_deref.

Feb 1 2021, 3:36 PM · Restricted Project
aardappel committed rG0d9b17d0efe0: [WebAssembly] fixed wasm64 data segment init exp not 64-bit (authored by aardappel).
[WebAssembly] fixed wasm64 data segment init exp not 64-bit
Feb 1 2021, 11:33 AM
aardappel closed D95651: [WebAssembly] fixed wasm64 data segment init exp not 64-bit.
Feb 1 2021, 11:33 AM · Restricted Project

Jan 28 2021

aardappel requested review of D95651: [WebAssembly] fixed wasm64 data segment init exp not 64-bit.
Jan 28 2021, 4:41 PM · Restricted Project
aardappel accepted D95510: Diagnose if a SLEB128 is too large to fit in an int64_t..
Jan 28 2021, 12:21 PM · Restricted Project
aardappel committed rG275c6af7d7f1: [WebAssembly] Fix Fast ISEL not lowering 64-bit function pointers (authored by aardappel).
[WebAssembly] Fix Fast ISEL not lowering 64-bit function pointers
Jan 28 2021, 10:06 AM
aardappel closed D95410: [WebAssembly] Fix Fast ISEL not lowering 64-bit function pointers.
Jan 28 2021, 10:06 AM · Restricted Project
aardappel updated the diff for D95410: [WebAssembly] Fix Fast ISEL not lowering 64-bit function pointers.

simplified test

Jan 28 2021, 10:02 AM · Restricted Project

Jan 25 2021

aardappel requested review of D95410: [WebAssembly] Fix Fast ISEL not lowering 64-bit function pointers.
Jan 25 2021, 4:51 PM · Restricted Project

Jan 14 2021

aardappel added inline comments to D94347: [WebAssembly] locals can now be indirect in DWARF.
Jan 14 2021, 1:52 PM · Restricted Project
aardappel updated the diff for D94347: [WebAssembly] locals can now be indirect in DWARF.

Made it emit a DW_OP_deref instead.

Jan 14 2021, 1:11 PM · Restricted Project

Jan 12 2021

aardappel added a comment to D94347: [WebAssembly] locals can now be indirect in DWARF.

i.e. does it actually matter after that what value the TargetIndex MachineOperand has?

Jan 12 2021, 6:07 PM · Restricted Project
aardappel added a comment to D94347: [WebAssembly] locals can now be indirect in DWARF.

the only difference would be that instead of encoding TI_LOCAL_INDIRECT directly into first argument of DW_OP_WASM_location, that the Dwarf writer would instead change the final argument of DW_AT_location to DW_OP_deref. That change is less elegant in the LLVM code but makes the standardized interface simpler.

Jan 12 2021, 5:12 PM · Restricted Project
aardappel added a comment to D94347: [WebAssembly] locals can now be indirect in DWARF.

This solution is certainly driven by what fits well in the current way LLVM does things, though all the different steps of lowering.

Jan 12 2021, 9:24 AM · Restricted Project

Jan 8 2021

aardappel added a comment to D94347: [WebAssembly] locals can now be indirect in DWARF.

@RReverser is one struct guaranteed to always be passed the same? Here structs are passed by pointer, sometimes they can get passed in registers/locals..

Jan 8 2021, 5:36 PM · Restricted Project
aardappel requested review of D94347: [WebAssembly] locals can now be indirect in DWARF.
Jan 8 2021, 3:29 PM · Restricted Project

Jan 7 2021

aardappel committed rG5c38ae36c58f: [WebAssembly] Fixed byval args missing DWARF DW_AT_LOCATION (authored by aardappel).
[WebAssembly] Fixed byval args missing DWARF DW_AT_LOCATION
Jan 7 2021, 10:33 AM
aardappel closed D94140: [WebAssembly] Fixed byval args missing DWARF DW_AT_LOCATION.
Jan 7 2021, 10:33 AM · Restricted Project
aardappel added inline comments to D94140: [WebAssembly] Fixed byval args missing DWARF DW_AT_LOCATION.
Jan 7 2021, 10:30 AM · Restricted Project

Jan 5 2021

aardappel added a comment to D94140: [WebAssembly] Fixed byval args missing DWARF DW_AT_LOCATION.

@dblaikie Added you for review since this modifies common DWARF code, would love to hear if that is problematic or not. It would seem not, since we're the only users of these TI's it seems, and the new code is generic enough that it could work for future targets using TIs?

Jan 5 2021, 5:06 PM · Restricted Project
aardappel requested review of D94140: [WebAssembly] Fixed byval args missing DWARF DW_AT_LOCATION.
Jan 5 2021, 5:03 PM · Restricted Project
aardappel accepted D94051: [WebAssembly] Update InstPrinter and AsmParser for new EH instructions.
Jan 5 2021, 10:08 AM · Restricted Project
aardappel accepted D94043: [WebAssembly] Update InstPrinter support for EH.
Jan 5 2021, 10:05 AM · Restricted Project

Dec 10 2020

aardappel added inline comments to D92840: [WebAssembly] call_indirect causes indirect function table import.
Dec 10 2020, 9:52 AM · Restricted Project
aardappel accepted D92952: [WebAssembly] Support COMDAT sections in assembly syntax.
Dec 10 2020, 9:26 AM · Restricted Project

Dec 3 2020

aardappel committed rGfd65e4815cb2: [WebAssembly] Fixed Writer::createInitMemoryFunction to work for wasm64 (authored by aardappel).
[WebAssembly] Fixed Writer::createInitMemoryFunction to work for wasm64
Dec 3 2020, 4:21 PM
aardappel closed D92348: [WebAssembly] Fixed Writer::createInitMemoryFunction to work for wasm64.
Dec 3 2020, 4:21 PM · Restricted Project
aardappel added inline comments to D92348: [WebAssembly] Fixed Writer::createInitMemoryFunction to work for wasm64.
Dec 3 2020, 3:07 PM · Restricted Project
aardappel updated the diff for D92348: [WebAssembly] Fixed Writer::createInitMemoryFunction to work for wasm64.

Simplified tests

Dec 3 2020, 1:13 PM · Restricted Project
aardappel updated the diff for D92348: [WebAssembly] Fixed Writer::createInitMemoryFunction to work for wasm64.

Has new tests that pass, and checked by hand that the one test where the code contents changed passes wasm-validate :)

Dec 3 2020, 12:05 PM · Restricted Project
aardappel added a comment to D92348: [WebAssembly] Fixed Writer::createInitMemoryFunction to work for wasm64.

Well, these tests are not going to tell us if the generated instructions make any sense, but ok..

Dec 3 2020, 11:43 AM · Restricted Project

Nov 30 2020

aardappel added a comment to D92348: [WebAssembly] Fixed Writer::createInitMemoryFunction to work for wasm64.

Looks like we don't have a wasm32 test for this?

Nov 30 2020, 2:04 PM · Restricted Project
aardappel requested review of D92348: [WebAssembly] Fixed Writer::createInitMemoryFunction to work for wasm64.
Nov 30 2020, 2:03 PM · Restricted Project

Nov 13 2020

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
Nov 13 2020, 9:33 AM
aardappel closed D91395: [WebAssembly] Added R_WASM_FUNCTION_OFFSET_I64 for use with DWARF DW_AT_low_pc.
Nov 13 2020, 9:33 AM · Restricted Project

Nov 12 2020

aardappel requested review of D91395: [WebAssembly] Added R_WASM_FUNCTION_OFFSET_I64 for use with DWARF DW_AT_low_pc.
Nov 12 2020, 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.

Nov 12 2020, 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.

Nov 12 2020, 9:11 AM · Restricted Project

Nov 10 2020

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..

Nov 10 2020, 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).

Nov 10 2020, 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.

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

MC parts generally look good to me.

Nov 10 2020, 10:20 AM · Restricted Project

Oct 30 2020

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

Oct 30 2020, 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
Oct 30 2020, 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
Oct 30 2020, 4:43 PM
aardappel closed D90503: [WebAssembly] Fixed DWARF DW_AT_low_pc encoded as 64-bit in wasm64.
Oct 30 2020, 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

Oct 30 2020, 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.
Oct 30 2020, 2:39 PM · Restricted Project