Page MenuHomePhabricator

wingo (Andy Wingo)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 12 2019, 6:38 AM (164 w, 4 d)

Recent Activity

Sep 21 2021

wingo committed rG9ae4275557ca: [clang][NFC] Fix needless double-parenthisation (authored by wingo).
[clang][NFC] Fix needless double-parenthisation
Sep 21 2021, 8:04 AM
wingo closed D108359: [clang][NFC] Fix needless double-parenthisation.
Sep 21 2021, 8:03 AM · Restricted Project

Sep 20 2021

wingo added a reviewer for D108359: [clang][NFC] Fix needless double-parenthisation: Anastasia.

Just a little thing I saw while reading code -- if no response in a couple weeks I will just abandon the rev

Sep 20 2021, 3:32 AM · Restricted Project
wingo committed rGeb3af1e77341: [clang][NFC] Remove dead code (authored by wingo).
[clang][NFC] Remove dead code
Sep 20 2021, 3:16 AM
wingo closed D108360: [clang][NFC] Remove dead code.
Sep 20 2021, 3:16 AM · Restricted Project

Aug 24 2021

wingo added a comment to D108360: [clang][NFC] Remove dead code.

@Anastasia is this good to go for you or does this need closer attention?

Aug 24 2021, 1:48 AM · Restricted Project
wingo updated subscribers of D108464: [clang][CodeGen] Refactor CreateTempAlloca function nest. NFC..

Thanks again John & Thomas for your thoughts.

Aug 24 2021, 1:36 AM · Restricted Project

Aug 23 2021

wingo abandoned D108459: [clang][CodeGen] Rely on implicitly invalid Address. NFC..

Closing PR as it turns out that I don't need the Address() change for my work; no need to churn here.

Aug 23 2021, 7:29 AM · Restricted Project
wingo abandoned D108458: [clang][CodeGen] Add default constructor for Address. NFC..

You can still use a type without a default constructor in a DenseMap; you just have to use insert instead of dict[key] = ....

Aug 23 2021, 7:28 AM · Restricted Project
wingo updated the summary of D108464: [clang][CodeGen] Refactor CreateTempAlloca function nest. NFC..
Aug 23 2021, 7:22 AM · Restricted Project
wingo updated the diff for D108464: [clang][CodeGen] Refactor CreateTempAlloca function nest. NFC..

Rebase to no longer require Address default constructor.

Aug 23 2021, 7:20 AM · Restricted Project
wingo committed rG4fb0c083429a: [clang][CodeGen] GetDefaultAlignTempAlloca uses preferred alignment (authored by wingo).
[clang][CodeGen] GetDefaultAlignTempAlloca uses preferred alignment
Aug 23 2021, 6:10 AM
wingo closed D108450: [clang][CodeGen] GetDefaultAlignTempAlloca uses preferred alignment.
Aug 23 2021, 6:09 AM · Restricted Project
wingo committed rG8da70fed704c: [clang][NFC] Tighten up code for GetGlobalVarAddressSpace (authored by wingo).
[clang][NFC] Tighten up code for GetGlobalVarAddressSpace
Aug 23 2021, 6:08 AM
wingo closed D108449: [clang][NFC] Tighten up code for GetGlobalVarAddressSpace.
Aug 23 2021, 6:08 AM · Restricted Project
wingo committed rGd3d4d98576f4: [clang][NFC] GetOrCreateLLVMGlobal takes LangAS (authored by wingo).
[clang][NFC] GetOrCreateLLVMGlobal takes LangAS
Aug 23 2021, 6:05 AM
wingo closed D108445: [clang][NFC] GetOrCreateLLVMGlobal takes LangAS.
Aug 23 2021, 6:04 AM · Restricted Project
wingo updated subscribers of D108360: [clang][NFC] Remove dead code.

Thanks for feedback! Following up on general question in D108464.

Aug 23 2021, 5:19 AM · Restricted Project
wingo updated subscribers of D108464: [clang][CodeGen] Refactor CreateTempAlloca function nest. NFC..

Sooooo... besides the refactor, this is getting closer to where I'm going in https://lists.llvm.org/pipermail/cfe-dev/2021-July/068559.html, though still NFC. I think you can see where I would replace getASTAllocaAddressSpace with getAllocaAddressSpace(QualType Ty), and possibly (depending on the source language) avoid casting the resulting alloca to LangAS::Default. WDYT, is this sort of thing OK?

Aug 23 2021, 2:26 AM · Restricted Project

Aug 20 2021

wingo added inline comments to D108464: [clang][CodeGen] Refactor CreateTempAlloca function nest. NFC..
Aug 20 2021, 6:07 AM · Restricted Project
wingo added a comment to D108464: [clang][CodeGen] Refactor CreateTempAlloca function nest. NFC..

Sooooo... besides the refactor, this is getting closer to where I'm going in https://lists.llvm.org/pipermail/cfe-dev/2021-July/068559.html, though still NFC. I think you can see where I would replace getASTAllocaAddressSpace with getAllocaAddressSpace(QualType Ty), and possibly (depending on the source language) avoid casting the resulting alloca to LangAS::Default. WDYT, is this sort of thing OK?

Aug 20 2021, 6:04 AM · Restricted Project
wingo requested review of D108464: [clang][CodeGen] Refactor CreateTempAlloca function nest. NFC..
Aug 20 2021, 6:01 AM · Restricted Project
wingo requested review of D108459: [clang][CodeGen] Rely on implicitly invalid Address. NFC..
Aug 20 2021, 5:24 AM · Restricted Project
wingo added inline comments to D108458: [clang][CodeGen] Add default constructor for Address. NFC..
Aug 20 2021, 5:04 AM · Restricted Project
wingo requested review of D108458: [clang][CodeGen] Add default constructor for Address. NFC..
Aug 20 2021, 5:03 AM · Restricted Project
wingo added a comment to D108450: [clang][CodeGen] GetDefaultAlignTempAlloca uses preferred alignment.

I tested by building with all targets enabled and there was no change in test results, running clang, llvm, and lld tests.

Aug 20 2021, 1:10 AM · Restricted Project
wingo requested review of D108450: [clang][CodeGen] GetDefaultAlignTempAlloca uses preferred alignment.
Aug 20 2021, 1:02 AM · Restricted Project
wingo added a reviewer for D108449: [clang][NFC] Tighten up code for GetGlobalVarAddressSpace: rjmccall.

Just a drive-by cleanup while poking other address-space-related things.

Aug 20 2021, 12:52 AM · Restricted Project
wingo requested review of D108449: [clang][NFC] Tighten up code for GetGlobalVarAddressSpace.
Aug 20 2021, 12:48 AM · Restricted Project

Aug 19 2021

wingo added a reviewer for D108445: [clang][NFC] GetOrCreateLLVMGlobal takes LangAS: rjmccall.
Aug 19 2021, 11:12 PM · Restricted Project
wingo requested review of D108445: [clang][NFC] GetOrCreateLLVMGlobal takes LangAS.
Aug 19 2021, 11:11 PM · Restricted Project
wingo added a reviewer for D108360: [clang][NFC] Remove dead code: rjmccall.

Hi John, I am new to clang, having mostly worked on the WebAssembly target in llvm proper. I have a stack of patches related to address space treatment in codegen -- most of them NFC refactors to later allow the WebAssembly target to alloca in different address spaces. See https://lists.llvm.org/pipermail/cfe-dev/2021-July/068559.html for broader context. Would it be OK if I sent them your way? Cheers, Andy.

Aug 19 2021, 5:16 AM · Restricted Project
wingo added a reviewer for D108359: [clang][NFC] Fix needless double-parenthisation: rsmith.

Hi Richard, I am new to clang, having mostly worked on the WebAssembly target in llvm proper -- I have a stack of patches, of which a couple later ones touch Sema/. See https://lists.llvm.org/pipermail/cfe-dev/2021-July/068559.html for broader context. However I had a couple small NFC cleanups I found when reading code, like this one; would it be OK if I sent them your way? Cheers, Andy.

Aug 19 2021, 5:13 AM · Restricted Project
wingo requested review of D108360: [clang][NFC] Remove dead code.
Aug 19 2021, 3:06 AM · Restricted Project
wingo requested review of D108359: [clang][NFC] Fix needless double-parenthisation.
Aug 19 2021, 2:57 AM · Restricted Project

Jul 28 2021

wingo accepted D106897: [lld][WebAssembly] Prefer objdump -d over obj2yaml for tests. NFC.
Jul 28 2021, 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.

Jul 28 2021, 1:25 AM · Restricted Project

Jul 19 2021

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
Jul 19 2021, 12:22 AM
wingo closed D105539: [llvm-objdump][WebAssembly] Fix llvm-objdump on files without symbols.
Jul 19 2021, 12:22 AM · Restricted Project

Jul 16 2021

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

Prettify tests

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

Tighten up tests

Jul 16 2021, 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 :)

Jul 16 2021, 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

Jul 16 2021, 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

Jul 16 2021, 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

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

Simplify test

Jul 16 2021, 12:36 AM · Restricted Project

Jul 7 2021

wingo requested review of D105539: [llvm-objdump][WebAssembly] Fix llvm-objdump on files without symbols.
Jul 7 2021, 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