Page MenuHomePhabricator
Feed Advanced Search

Wed, Jul 28

wingo accepted D106897: [lld][WebAssembly] Prefer objdump -d over obj2yaml for tests. NFC.
Wed, Jul 28, 1:25 AM · Restricted Project
wingo added a comment to D106897: [lld][WebAssembly] Prefer objdump -d over obj2yaml for tests. NFC.

Neat :) LGTM as well of course.

Wed, Jul 28, 1:25 AM · Restricted Project

Mon, Jul 19

wingo committed rGdb69ea40a91a: [llvm-objdump][WebAssembly] Fix llvm-objdump on files without symbols (authored by wingo).
[llvm-objdump][WebAssembly] Fix llvm-objdump on files without symbols
Mon, Jul 19, 12:22 AM
wingo closed D105539: [llvm-objdump][WebAssembly] Fix llvm-objdump on files without symbols.
Mon, Jul 19, 12:22 AM · Restricted Project

Fri, Jul 16

wingo updated the diff for D105539: [llvm-objdump][WebAssembly] Fix llvm-objdump on files without symbols.

Prettify tests

Fri, Jul 16, 1:38 AM · Restricted Project
wingo updated the diff for D105539: [llvm-objdump][WebAssembly] Fix llvm-objdump on files without symbols.

Tighten up tests

Fri, Jul 16, 1:32 AM · Restricted Project
wingo added a comment to D105539: [llvm-objdump][WebAssembly] Fix llvm-objdump on files without symbols.

Thanks all for the feedback! I think the updated patch addresses the feedback; PTAL :)

Fri, Jul 16, 1:30 AM · Restricted Project
wingo updated the diff for D105539: [llvm-objdump][WebAssembly] Fix llvm-objdump on files without symbols.

Use STT_NOTYPE for synthesized symbols

Fri, Jul 16, 1:29 AM · Restricted Project
wingo updated the diff for D105539: [llvm-objdump][WebAssembly] Fix llvm-objdump on files without symbols.

Add wasm symbols for any function without a symbol

Fri, Jul 16, 1:25 AM · Restricted Project
wingo updated the diff for D105539: [llvm-objdump][WebAssembly] Fix llvm-objdump on files without symbols.

Rebase; will fix spurious presubmit errors

Fri, Jul 16, 1:01 AM · Restricted Project
wingo updated the diff for D105539: [llvm-objdump][WebAssembly] Fix llvm-objdump on files without symbols.

Simplify test

Fri, Jul 16, 12:36 AM · Restricted Project

Wed, Jul 7

wingo requested review of D105539: [llvm-objdump][WebAssembly] Fix llvm-objdump on files without symbols.
Wed, Jul 7, 2:16 AM · Restricted Project

Jun 1 2021

wingo committed rG82f92e35c646: [WebAssembly][CodeGen] IR support for WebAssembly local variables (authored by wingo).
[WebAssembly][CodeGen] IR support for WebAssembly local variables
Jun 1 2021, 2:34 AM
wingo closed D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.
Jun 1 2021, 2:34 AM · Restricted Project, Restricted Project

May 31 2021

wingo added a comment to D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Quick r? to @tlively -- OK with having the new util function in WebAssemblyFrameLowering? It didn't work to have it in the utils library because the function needs the vtable of WebAssemblyFunctionInfo.

May 31 2021, 3:18 AM · Restricted Project, Restricted Project
wingo updated the diff for D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Fix shared-library build by moving util function to WebAssemblyFrameLowering.

May 31 2021, 3:17 AM · Restricted Project, Restricted Project
wingo reopened D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Yarrrgh, broke the shared library build. Fix incoming...

May 31 2021, 1:56 AM · Restricted Project, Restricted Project
wingo added a reverting change for rGbf35f4af51cd: [WebAssembly][CodeGen] IR support for WebAssembly local variables: rGbc1ad6e3c49d: Revert "[WebAssembly][CodeGen] IR support for WebAssembly local variables".
May 31 2021, 1:55 AM
wingo committed rGbc1ad6e3c49d: Revert "[WebAssembly][CodeGen] IR support for WebAssembly local variables" (authored by wingo).
Revert "[WebAssembly][CodeGen] IR support for WebAssembly local variables"
May 31 2021, 1:55 AM
wingo added a reverting change for D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables: rGbc1ad6e3c49d: Revert "[WebAssembly][CodeGen] IR support for WebAssembly local variables".
May 31 2021, 1:55 AM · Restricted Project, Restricted Project
wingo committed rGbf35f4af51cd: [WebAssembly][CodeGen] IR support for WebAssembly local variables (authored by wingo).
[WebAssembly][CodeGen] IR support for WebAssembly local variables
May 31 2021, 1:42 AM
wingo closed D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.
May 31 2021, 1:42 AM · Restricted Project, Restricted Project
wingo added a comment to D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Is it just me or does having a backend-specific type in target-independent code feel wrong? It feels like there should be a space for target-specific TargetStackIDs...

Hoo, good question. More support for target-specific handling of stack IDs would be great. However in this case the concept is not purely wasm-specific; I can imagine other targets that might have a similar treatment of locals (if we had a .net target, or a jvm target, or so). The idea is that there is a separate stack consisting of named locals that may not be addressable by pointers to main memory. In earlier drafts of this patch the name was more generic ("Object", then "Managed") but you know, our words in this area are quite overloaded. So instead I went with something quite specific (WasmLocal) to avoid the general question -- but I do think the concept is not specific, even if it doesn't apply to any other target currently in tree. WDYT?

Well, except all the logic for it is in the backend, only the parser and the definition are in target-independent code, so even if another backend were to reuse it it would have its own completely separate logic for it, and thus there's no benefit to reusing a shared name for the thing over each target defining its own? Or would some of the code in the wasm backend be refactored out into CodeGen?

May 31 2021, 1:17 AM · Restricted Project, Restricted Project

May 28 2021

wingo added a comment to D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Is it just me or does having a backend-specific type in target-independent code feel wrong? It feels like there should be a space for target-specific TargetStackIDs...

May 28 2021, 6:19 AM · Restricted Project, Restricted Project
wingo updated the diff for D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Fix build for RISC-V and AMDGPU.

May 28 2021, 4:29 AM · Restricted Project, Restricted Project
wingo reopened D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.
May 28 2021, 4:29 AM · Restricted Project, Restricted Project
wingo committed rGca5f07f8c4bc: Revert "[WebAssembly][CodeGen] IR support for WebAssembly local variables" (authored by wingo).
Revert "[WebAssembly][CodeGen] IR support for WebAssembly local variables"
May 28 2021, 3:43 AM
wingo added a reverting change for rG00ecf18979e3: [WebAssembly][CodeGen] IR support for WebAssembly local variables: rGca5f07f8c4bc: Revert "[WebAssembly][CodeGen] IR support for WebAssembly local variables".
May 28 2021, 3:43 AM
wingo added a reverting change for D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables: rGca5f07f8c4bc: Revert "[WebAssembly][CodeGen] IR support for WebAssembly local variables".
May 28 2021, 3:43 AM · Restricted Project, Restricted Project
wingo committed rG00ecf18979e3: [WebAssembly][CodeGen] IR support for WebAssembly local variables (authored by wingo).
[WebAssembly][CodeGen] IR support for WebAssembly local variables
May 28 2021, 2:10 AM
wingo closed D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.
May 28 2021, 2:10 AM · Restricted Project, Restricted Project
wingo updated the diff for D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Adapt test to insert compiler barrier.

May 28 2021, 2:09 AM · Restricted Project, Restricted Project
wingo added inline comments to D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.
May 28 2021, 2:05 AM · Restricted Project, Restricted Project

May 26 2021

wingo added a comment to D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Gentle ping here to @tlively :)

May 26 2021, 11:55 PM · Restricted Project, Restricted Project

May 21 2021

wingo added inline comments to D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.
May 21 2021, 5:01 AM · Restricted Project, Restricted Project
wingo updated the diff for D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Address feedback

May 21 2021, 5:01 AM · Restricted Project, Restricted Project
wingo updated the summary of D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.
May 21 2021, 4:47 AM · Restricted Project, Restricted Project
wingo updated the diff for D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Rebase

May 21 2021, 4:46 AM · Restricted Project, Restricted Project
wingo committed rG81bc73281610: [IR][Verifier] Relax restriction on alloca address spaces (authored by wingo).
[IR][Verifier] Relax restriction on alloca address spaces
May 21 2021, 2:55 AM
wingo closed D101045: [IR][Verifier] Relax restriction on alloca address spaces.
May 21 2021, 2:55 AM · Restricted Project
wingo retitled D101045: [IR][Verifier] Relax restriction on alloca address spaces from [IR][Verifier] Targets can specify multiple alloca address spaces to [IR][Verifier] Relax restriction on alloca address spaces.
May 21 2021, 12:26 AM · Restricted Project

May 20 2021

wingo updated the diff for D101045: [IR][Verifier] Relax restriction on alloca address spaces.

Remove AMDGPU test that alloca in wrong addrspace fails to verify

May 20 2021, 1:21 AM · Restricted Project

May 19 2021

wingo added inline comments to D101045: [IR][Verifier] Relax restriction on alloca address spaces.
May 19 2021, 2:13 AM · Restricted Project
wingo updated the diff for D101045: [IR][Verifier] Relax restriction on alloca address spaces.

Tweak alloca langref language

May 19 2021, 2:07 AM · Restricted Project

May 18 2021

wingo updated the diff for D101045: [IR][Verifier] Relax restriction on alloca address spaces.

Fix drop-debug-info-nonzero-alloca test

May 18 2021, 7:50 AM · Restricted Project
wingo updated the diff for D101045: [IR][Verifier] Relax restriction on alloca address spaces.

Go back to first version of patch, removing verifier restriction on alloca address spaces

May 18 2021, 7:48 AM · Restricted Project

May 17 2021

wingo added inline comments to D95425: Implementation of global.get/set for reftypes in LLVM IR.
May 17 2021, 4:47 AM · Restricted Project, Restricted Project
wingo added a comment to D101045: [IR][Verifier] Relax restriction on alloca address spaces.

It hadn't occurred to me to add a field to the datalayout purely for the verifier. That seems a bit strange, since it's not exactly a target property.

Yeah understood. If we want some targets to have the check and some to not have the check, do you know of a better place to express this? I thought the same place that the target's alloca address space is defined might not be unreasonable, but I am new here :)

I think we should have target specific IR verifiers, not pollute the datalayout. There are a number of other places such a verifier would be useful

May 17 2021, 1:06 AM · Restricted Project

May 11 2021

wingo committed rGb2f21b145aec: [CodeGen][WebAssembly] Better lowering for WASM_SYMBOL_TYPE_GLOBAL symbols (authored by wingo).
[CodeGen][WebAssembly] Better lowering for WASM_SYMBOL_TYPE_GLOBAL symbols
May 11 2021, 2:49 AM
wingo closed D101913: [CodeGen][WebAssembly] Better lowering for WASM_SYMBOL_TYPE_GLOBAL symbols.
May 11 2021, 2:48 AM · Restricted Project
wingo updated the diff for D101913: [CodeGen][WebAssembly] Better lowering for WASM_SYMBOL_TYPE_GLOBAL symbols.

Rename "managed" address space to "wasm var".

May 11 2021, 2:37 AM · Restricted Project
wingo committed rGd7086af2143d: [WebAssembly] Support for WebAssembly globals in LLVM IR (authored by pmatos).
[WebAssembly] Support for WebAssembly globals in LLVM IR
May 11 2021, 2:24 AM
wingo closed D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.
May 11 2021, 2:24 AM · Restricted Project, Restricted Project
wingo updated the diff for D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Update in response to parent commit changes

May 11 2021, 1:41 AM · Restricted Project, Restricted Project
wingo updated the diff for D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.

Rename "managed" address space to "wasm vars"

May 11 2021, 1:39 AM · Restricted Project, Restricted Project
wingo updated the diff for D101045: [IR][Verifier] Relax restriction on alloca address spaces.

Fix spurious whitespace

May 11 2021, 1:04 AM · Restricted Project
wingo retitled D101045: [IR][Verifier] Relax restriction on alloca address spaces from [IR][Verifier] Targets can allow alloca outside alloca address space to [IR][Verifier] Targets can specify multiple alloca address spaces.
May 11 2021, 1:02 AM · Restricted Project
wingo updated the diff for D101045: [IR][Verifier] Relax restriction on alloca address spaces.

Address feedback from tlively

May 11 2021, 12:59 AM · Restricted Project

May 10 2021

wingo added inline comments to D101913: [CodeGen][WebAssembly] Better lowering for WASM_SYMBOL_TYPE_GLOBAL symbols.
May 10 2021, 5:08 AM · Restricted Project
wingo added inline comments to D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.
May 10 2021, 12:26 AM · Restricted Project, Restricted Project

May 6 2021

wingo added inline comments to D101913: [CodeGen][WebAssembly] Better lowering for WASM_SYMBOL_TYPE_GLOBAL symbols.
May 6 2021, 8:01 AM · Restricted Project
wingo updated the diff for D101913: [CodeGen][WebAssembly] Better lowering for WASM_SYMBOL_TYPE_GLOBAL symbols.

Rename "object" to "managed", and address feedback

May 6 2021, 8:00 AM · Restricted Project
wingo updated the diff for D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Rename "object" to "managed", and add test for stack id

May 6 2021, 5:17 AM · Restricted Project, Restricted Project
wingo updated the diff for D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.

yarr, shiver me timbers, fix me typos

May 6 2021, 4:43 AM · Restricted Project, Restricted Project
wingo updated the diff for D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.

Rename "object" address space to "managed"; address feedback.

May 6 2021, 3:27 AM · Restricted Project, Restricted Project
wingo added inline comments to D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.
May 6 2021, 3:24 AM · Restricted Project, Restricted Project
wingo added a comment to D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.

Thanks for the review!

May 6 2021, 3:22 AM · Restricted Project, Restricted Project

May 5 2021

wingo added a comment to D101913: [CodeGen][WebAssembly] Better lowering for WASM_SYMBOL_TYPE_GLOBAL symbols.

Hi! Please take a look. The code duplication is horrible and suggestions to fix are most welcome. Normally, overriding emitGlobalVariable would be sufficient, but we also need to visit uses of Wasm globals, even if they aren't defined in the compilation unit. The code in GetGlobalAddressSymbol would be sufficient, but we also need to visit definitions that aren't used. Irritating!

May 5 2021, 8:29 AM · Restricted Project
wingo requested review of D101913: [CodeGen][WebAssembly] Better lowering for WASM_SYMBOL_TYPE_GLOBAL symbols.
May 5 2021, 8:22 AM · Restricted Project
wingo updated the diff for D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.

Pull in fixes from D101140

May 5 2021, 2:04 AM · Restricted Project, Restricted Project
wingo updated the diff for D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.

Address feedback

May 5 2021, 12:55 AM · Restricted Project, Restricted Project
wingo added inline comments to D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.
May 5 2021, 12:51 AM · Restricted Project, Restricted Project

May 4 2021

wingo added inline comments to D95425: Implementation of global.get/set for reftypes in LLVM IR.
May 4 2021, 7:46 AM · Restricted Project, Restricted Project
wingo updated the diff for D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.

Rebase on main

May 4 2021, 7:02 AM · Restricted Project, Restricted Project
wingo updated the diff for D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Fix clang datalayout expectations

May 4 2021, 4:22 AM · Restricted Project, Restricted Project
wingo added 1 blocking reviewer(s) for D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR: tlively.
May 4 2021, 4:15 AM · Restricted Project, Restricted Project
wingo added a comment to D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Rebased on top of https://reviews.llvm.org/D101608, and removed reftypes support, as it turns out that the notion of WebAssembly locals in IR is sufficiently general that externref/funcref can be added in a followup. WDYT @tlively, @dschuff , @pmatos ?

May 4 2021, 1:28 AM · Restricted Project, Restricted Project
wingo updated the diff for D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Remove reftypes

May 4 2021, 1:25 AM · Restricted Project, Restricted Project
wingo retitled D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables from [WebAssembly][CodeGen] Allow for externref/funcref local variables to [WebAssembly][CodeGen] IR support for WebAssembly local variables.
May 4 2021, 1:24 AM · Restricted Project, Restricted Project

Apr 30 2021

wingo updated the diff for D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.

Fix clang datalayout expectations

Apr 30 2021, 6:12 AM · Restricted Project, Restricted Project
wingo added a comment to D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.

Context here is that I realized that in D95425, that we could use a single address space for globals of any type, and that it might make sense to do so for "ordinary" globals like i32 etc. Then we can express adding support for funcref / externref on top of this. WDYT @pmatos ?

Apr 30 2021, 2:39 AM · Restricted Project, Restricted Project
wingo requested review of D101608: [WebAssembly] Support for WebAssembly globals in LLVM IR.
Apr 30 2021, 2:34 AM · Restricted Project, Restricted Project

Apr 29 2021

wingo added inline comments to D95425: Implementation of global.get/set for reftypes in LLVM IR.
Apr 29 2021, 8:24 AM · Restricted Project, Restricted Project
wingo added a comment to D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Nice! This turns out to be relatively simple. It would be good to add more tests with reference typed locals mixed in with normal locals, etc.

Apr 29 2021, 1:55 AM · Restricted Project, Restricted Project

Apr 28 2021

wingo updated the diff for D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

Rebase, and add A0:u addrspace qualifier

Apr 28 2021, 2:02 AM · Restricted Project, Restricted Project

Apr 27 2021

wingo updated the diff for D101045: [IR][Verifier] Relax restriction on alloca address spaces.
  • Fix typo in LangRef
Apr 27 2021, 1:42 AM · Restricted Project
wingo retitled D101045: [IR][Verifier] Relax restriction on alloca address spaces from [IR][Verifier] Allow alloca outside alloca address space to [IR][Verifier] Targets can allow alloca outside alloca address space.
Apr 27 2021, 1:39 AM · Restricted Project
wingo added inline comments to D95425: Implementation of global.get/set for reftypes in LLVM IR.
Apr 27 2021, 12:38 AM · Restricted Project, Restricted Project
wingo added a comment to D101045: [IR][Verifier] Relax restriction on alloca address spaces.

It hadn't occurred to me to add a field to the datalayout purely for the verifier. That seems a bit strange, since it's not exactly a target property.

Apr 27 2021, 12:07 AM · Restricted Project

Apr 23 2021

wingo updated the diff for D101045: [IR][Verifier] Relax restriction on alloca address spaces.

Instead of globally relaxing the restriction on alloca address spaces,
allow targets to choose whether to impose the restriction via the
datalayout.

Apr 23 2021, 1:47 AM · Restricted Project
wingo added a comment to D101045: [IR][Verifier] Relax restriction on alloca address spaces.

Thanks for your time, arsenm.

Apr 23 2021, 12:18 AM · Restricted Project

Apr 22 2021

wingo added a comment to D101045: [IR][Verifier] Relax restriction on alloca address spaces.

I posted https://reviews.llvm.org/D101140 just for context -- based on this patch, and @pmatos's work on https://reviews.llvm.org/D95425.

Apr 22 2021, 11:55 PM · Restricted Project
wingo added a comment to D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.

This is an early WIP; posting just to give context for D101045.

Apr 22 2021, 11:36 PM · Restricted Project, Restricted Project
wingo requested review of D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables.
Apr 22 2021, 11:35 PM · Restricted Project, Restricted Project
wingo added a comment to D101045: [IR][Verifier] Relax restriction on alloca address spaces.

Pre-merge checks show that https://github.com/llvm/llvm-project/blob/main/llvm/test/CodeGen/AMDGPU/invalid-alloca.ll fails; will need to follow up in a similar way.

Apr 22 2021, 7:01 AM · Restricted Project
wingo updated subscribers of D101045: [IR][Verifier] Relax restriction on alloca address spaces.

Cc arsenm, as he added the address space restriction for alloca when he added address space support for alloca in https://github.com/llvm/llvm-project/commit/3c1fc768ed6cf2b01463df036ae6ae3b1f0de632.

Apr 22 2021, 4:18 AM · Restricted Project
wingo requested review of D101045: [IR][Verifier] Relax restriction on alloca address spaces.
Apr 22 2021, 4:12 AM · Restricted Project
wingo added a comment to D100995: [WebAssembly] Put utility functions in Utils directory (NFC).

@wingo, I wanted to merge WebAssembly::getOrCreateFunctionTableSymbol in WebAssemblyUtilities.cpp and GetOrCreateFunctionTableSymbol in WebAssemblyAsmParser.cpp and put it in Utils/WebAssemblyUtilities.cpp, but it looks they became diverged in D90948 and are not the same anymore. Can they still be merged?

Apr 22 2021, 12:20 AM · Restricted Project

Apr 19 2021

wingo added inline comments to D95425: Implementation of global.get/set for reftypes in LLVM IR.
Apr 19 2021, 2:24 AM · Restricted Project, Restricted Project

Apr 7 2021

wingo accepted D99960: [WebAssembly] Improve error messages regarding missing indirect function table. NFC.
Apr 7 2021, 12:42 AM · Restricted Project