Page MenuHomePhabricator

tlively (Thomas Lively)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 31 2018, 10:54 AM (112 w, 2 d)

Recent Activity

Mon, Sep 14

tlively accepted D87663: [lld][WebAssembly] Fix --export-all when __stack_pointer is present.

Looks good!

Mon, Sep 14, 8:40 PM · Restricted Project
tlively accepted D87666: [lld][WebAssembly] Allow globals imports via import_name/import_module.

Should F and G be lowercased? It looks like the surrounding code uses camelCase fairly uniformly.

Mon, Sep 14, 8:29 PM · Restricted Project

Sat, Sep 12

tlively accepted D87537: [lld][WebAssembly] Error on import/export of mutable global without `mutable-globals` feature.

Thanks!

Sat, Sep 12, 2:08 PM · Restricted Project, Restricted Project

Fri, Sep 11

tlively added inline comments to D87537: [lld][WebAssembly] Error on import/export of mutable global without `mutable-globals` feature.
Fri, Sep 11, 6:47 PM · Restricted Project, Restricted Project
tlively added inline comments to D87537: [lld][WebAssembly] Error on import/export of mutable global without `mutable-globals` feature.
Fri, Sep 11, 1:01 PM · Restricted Project, Restricted Project
tlively added a comment to D87537: [lld][WebAssembly] Error on import/export of mutable global without `mutable-globals` feature.

Discussed offline and decided that it would be better to error out in the linker and depend on the frontend to generate the necessary features based on flags like -mmutable-globals or -fPIC.

Fri, Sep 11, 11:57 AM · Restricted Project, Restricted Project

Thu, Sep 10

tlively accepted D87431: [WebAssembly] Set unreachable as canonical to permit disassembly.
Thu, Sep 10, 10:51 AM · Restricted Project

Mon, Sep 7

tlively accepted D87207: [WebAssembly] Fix fixEndsAtEndOfFunction for try-catch.

LGTM!

Mon, Sep 7, 4:39 PM · Restricted Project

Sun, Sep 6

tlively committed rGcaee15a0ed52: [WebAssembly] Fix incorrect assumption of simple value types (authored by tlively).
[WebAssembly] Fix incorrect assumption of simple value types
Sun, Sep 6, 3:43 PM
tlively closed D87110: [WebAssembly] Fix incorrect assumption of simple value types.
Sun, Sep 6, 3:42 PM · Restricted Project

Thu, Sep 3

tlively requested review of D87110: [WebAssembly] Fix incorrect assumption of simple value types.
Thu, Sep 3, 1:12 PM · Restricted Project

Aug 25 2020

tlively abandoned D85759: [SLPVectorizer] Fix regression from cost model refactoring.

The status is that we decided to leave the behavior as-is despite the WebAssembly regression. I will (eventually) do a WebAssembly-specific fix, but there will be no need to backport that. No further action should be required here.

Aug 25 2020, 10:56 AM · Restricted Project

Aug 14 2020

tlively added a comment to D85759: [SLPVectorizer] Fix regression from cost model refactoring.

Yes, I only made this patch because the previous one was intended to be NFC. However, I agree (based on my cursory understanding of the relevant code) that it would be better to have just one code path, but this patch enforces an additional use of the second code path. It would make further cleanup of this code easier if I left this as-is and just fixed the issue in the WebAssembly backend, so I think I will abandon this revision and do that instead. @samparker and @aheejin, does that sound reasonable to you?

Aug 14 2020, 10:38 AM · Restricted Project

Aug 13 2020

tlively added inline comments to D85759: [SLPVectorizer] Fix regression from cost model refactoring.
Aug 13 2020, 4:45 PM · Restricted Project
tlively committed rGb182ccfc2d6a: [WebAssembly] Add missing lit.local.cfg (authored by tlively).
[WebAssembly] Add missing lit.local.cfg
Aug 13 2020, 4:34 PM
tlively added a comment to D85759: [SLPVectorizer] Fix regression from cost model refactoring.

I think D79941 is supposed to work; what it did is move those logics into constructors of IntrinsicCostAttributes. For example, this constructor saves FMF and argument types, which are supposed to be used later in the same way. I think it'd be better to figure that out and fix it than restore the old code? Maybe the original author @samparker has some ideas on why :)

Aug 13 2020, 2:29 PM · Restricted Project
tlively committed rGd53d952810e7: [WebAssembly] Allow inlining functions with different features (authored by tlively).
[WebAssembly] Allow inlining functions with different features
Aug 13 2020, 1:58 PM
tlively closed D85494: [WebAssembly] Allow inlining functions with different features.
Aug 13 2020, 1:58 PM · Restricted Project
tlively updated the diff for D85494: [WebAssembly] Allow inlining functions with different features.
  • Require feature subsets
Aug 13 2020, 12:32 PM · Restricted Project

Aug 12 2020

tlively added a comment to D85494: [WebAssembly] Allow inlining functions with different features.

Where are you planning to run that pass? Inlining runs within opt, before we can have any chances to run our own passes. You mean clang by 'frontend'? Can we run our own pass in clang?

Aug 12 2020, 4:53 PM · Restricted Project
tlively added a comment to D85494: [WebAssembly] Allow inlining functions with different features.

Sounds good, I'll make that change. @alexcrichton, would it be useful to have a separate LLVM pass that applies all features used anywhere in a module to each function in that module? Frontends could run that pass early when compiling to WebAssembly to remove the inlining restrictions.

Aug 12 2020, 4:04 PM · Restricted Project
tlively committed rG304264e73d29: [lld][WebAssembly] Emit all return types of multivalue functions (authored by sammax).
[lld][WebAssembly] Emit all return types of multivalue functions
Aug 12 2020, 1:14 PM
tlively closed D85783: multivalue result types.
Aug 12 2020, 1:14 PM · Restricted Project
tlively accepted D85806: [WebAssembly] Don't depend on the flags set by handleTargetFeatures in initFeatureMap..

Thank you!

Aug 12 2020, 11:03 AM · Restricted Project
tlively accepted D85783: multivalue result types.
Aug 12 2020, 10:51 AM · Restricted Project
tlively added a comment to D85783: multivalue result types.

@sammax Yeah there's a lot of stuff going on there. Thinking about it more, I'm not sure we should be feature checking type signatures in the linker. We certainly aren't feature checking the contents of the linked functions. This patch LGTM, so I'll go ahead and land it as-is.

Aug 12 2020, 10:51 AM · Restricted Project

Aug 11 2020

tlively committed rG2985c02f798b: [WebAssembly][AsmParser] Name missing features in error message (authored by tlively).
[WebAssembly][AsmParser] Name missing features in error message
Aug 11 2020, 5:26 PM
tlively closed D85795: [WebAssembly][AsmParser] Name missing features in error message.
Aug 11 2020, 5:26 PM · Restricted Project
tlively added inline comments to D85795: [WebAssembly][AsmParser] Name missing features in error message.
Aug 11 2020, 5:19 PM · Restricted Project
tlively added a comment to D85783: multivalue result types.

Nope, I guess we don't have any tests for this yet. @sammax, could you add a test in lld/test/wasm?

Aug 11 2020, 4:21 PM · Restricted Project
tlively added inline comments to D85764: [WebAssembly][NFC] Replace WASM with standard Wasm.
Aug 11 2020, 4:05 PM · Restricted Project
tlively requested review of D85795: [WebAssembly][AsmParser] Name missing features in error message.
Aug 11 2020, 4:04 PM · Restricted Project
tlively committed rG1a69f02397ae: [WebAssembly][NFC] Replace WASM with standard Wasm (authored by tlively).
[WebAssembly][NFC] Replace WASM with standard Wasm
Aug 11 2020, 12:28 PM
tlively closed D85764: [WebAssembly][NFC] Replace WASM with standard Wasm.
Aug 11 2020, 12:28 PM · Restricted Project
tlively added a comment to D85759: [SLPVectorizer] Fix regression from cost model refactoring.

Huh, the precommitted test failed on multiple bots even though it passes for me locally. I've reverted the commit that added the test for now while I investigate.

I think you have to add a REQUIRES for the WebAssembly target, otherwise bots that do not build that target will fail with the wasm32 triple.

Aug 11 2020, 12:20 PM · Restricted Project
tlively added a comment to D85759: [SLPVectorizer] Fix regression from cost model refactoring.

Huh, the precommitted test failed on multiple bots even though it passes for me locally. I've reverted the commit that added the test for now while I investigate.

Aug 11 2020, 12:19 PM · Restricted Project
tlively added a reverting change for rG52b71aa8b1a0: Revert "[SLPVectorizer] Pre-commit a test for D85759": rGf969734c21e8: Reland "[SLPVectorizer] Pre-commit a test for D85759".
Aug 11 2020, 12:19 PM
tlively committed rGf969734c21e8: Reland "[SLPVectorizer] Pre-commit a test for D85759" (authored by tlively).
Reland "[SLPVectorizer] Pre-commit a test for D85759"
Aug 11 2020, 12:19 PM
tlively added a comment to D85759: [SLPVectorizer] Fix regression from cost model refactoring.

Huh, the precommitted test failed on multiple bots even though it passes for me locally. I've reverted the commit that added the test for now while I investigate.

Aug 11 2020, 12:12 PM · Restricted Project
tlively added a reverting change for rG94791970de10: [SLPVectorizer] Pre-commit a test for D85759: rG52b71aa8b1a0: Revert "[SLPVectorizer] Pre-commit a test for D85759".
Aug 11 2020, 12:11 PM
tlively committed rG52b71aa8b1a0: Revert "[SLPVectorizer] Pre-commit a test for D85759" (authored by tlively).
Revert "[SLPVectorizer] Pre-commit a test for D85759"
Aug 11 2020, 12:11 PM
tlively updated the diff for D85759: [SLPVectorizer] Fix regression from cost model refactoring.
  • rebase on pre-committed test
Aug 11 2020, 11:37 AM · Restricted Project
tlively committed rG94791970de10: [SLPVectorizer] Pre-commit a test for D85759 (authored by tlively).
[SLPVectorizer] Pre-commit a test for D85759
Aug 11 2020, 11:30 AM
tlively added a comment to D85759: [SLPVectorizer] Fix regression from cost model refactoring.

@RKSimon Sure, I can do that.

Aug 11 2020, 11:09 AM · Restricted Project
tlively requested review of D85764: [WebAssembly][NFC] Replace WASM with standard Wasm.
Aug 11 2020, 11:06 AM · Restricted Project
tlively requested review of D85759: [SLPVectorizer] Fix regression from cost model refactoring.
Aug 11 2020, 10:49 AM · Restricted Project

Aug 10 2020

tlively added a comment to D85392: [WebAssembly][ConstantFolding] Fold fp-to-int truncation intrinsics.

Yes, most of the SIMD intrinsics could be folded as well. It’s certainly on my todo list.

Aug 10 2020, 1:20 PM · Restricted Project
tlively committed rG514445e0353e: [WebAssembly][ConstantFolding] Fold fp-to-int truncation intrinsics (authored by tlively).
[WebAssembly][ConstantFolding] Fold fp-to-int truncation intrinsics
Aug 10 2020, 12:40 PM
tlively closed D85392: [WebAssembly][ConstantFolding] Fold fp-to-int truncation intrinsics.
Aug 10 2020, 12:40 PM · Restricted Project

Aug 8 2020

tlively committed rGcc612c29084e: [WebAssembly] Fix FastISel address calculation bug (authored by tlively).
[WebAssembly] Fix FastISel address calculation bug
Aug 8 2020, 3:23 PM
tlively closed D85581: [WebAssembly] Fix FastISel address calculation bug.
Aug 8 2020, 3:23 PM · Restricted Project
tlively added a comment to D85581: [WebAssembly] Fix FastISel address calculation bug.

"The issue was that an Address set to
be relative to the FrameIndex with offset zero was incorrectly
considered to have an unset base. "

From the patch I can't see how offset (which I assume means the Offset member) comes into play at all. It looks like the fix applies to when either the FI or the Ref itself is zero. Or should I read FrameIndex with offset zero to mean FrameIndex of zero ?

Aug 8 2020, 12:57 PM · Restricted Project
tlively updated the summary of D85581: [WebAssembly] Fix FastISel address calculation bug.
Aug 8 2020, 12:56 PM · Restricted Project

Aug 7 2020

tlively requested review of D85581: [WebAssembly] Fix FastISel address calculation bug.
Aug 7 2020, 9:09 PM · Restricted Project

Aug 6 2020

tlively added a comment to D85494: [WebAssembly] Allow inlining functions with different features.

@alexcrichton As someone who works on an LLVM frontend, do you think the possibility that a feature can be "forgotten" would be worth introducing a restriction that functions can only be inlined into other functions that have a superset of their features?

Aug 6 2020, 8:27 PM · Restricted Project
tlively requested review of D85494: [WebAssembly] Allow inlining functions with different features.
Aug 6 2020, 8:24 PM · Restricted Project

Aug 5 2020

tlively requested review of D85392: [WebAssembly][ConstantFolding] Fold fp-to-int truncation intrinsics.
Aug 5 2020, 8:09 PM · Restricted Project
tlively committed rGf496950001c4: [WebAssembly] Fix types in wasm_simd128.h and add tests (authored by tlively).
[WebAssembly] Fix types in wasm_simd128.h and add tests
Aug 5 2020, 2:00 PM
tlively closed D85347: [WebAssembly] Fix types in wasm_simd128.h and add tests.
Aug 5 2020, 2:00 PM · Restricted Project
tlively added inline comments to D85347: [WebAssembly] Fix types in wasm_simd128.h and add tests.
Aug 5 2020, 1:37 PM · Restricted Project
tlively updated the diff for D85347: [WebAssembly] Fix types in wasm_simd128.h and add tests.
  • Fix and test macros as well
Aug 5 2020, 1:31 PM · Restricted Project
tlively updated the diff for D85347: [WebAssembly] Fix types in wasm_simd128.h and add tests.
  • Fix
Aug 5 2020, 12:38 PM · Restricted Project
tlively added reviewers for D85347: [WebAssembly] Fix types in wasm_simd128.h and add tests: aheejin, sunfish.
Aug 5 2020, 12:35 PM · Restricted Project
tlively requested review of D85347: [WebAssembly] Fix types in wasm_simd128.h and add tests.
Aug 5 2020, 12:34 PM · Restricted Project

Aug 3 2020

tlively committed rGcb327922101b: [WebAssembly] Implement prototype v128.load{32,64}_zero instructions (authored by tlively).
[WebAssembly] Implement prototype v128.load{32,64}_zero instructions
Aug 3 2020, 1:54 PM
tlively closed D84820: [WebAssembly] Implement prototype v128.load{32,64}_zero instructions.
Aug 3 2020, 1:54 PM · Restricted Project, Restricted Project
tlively updated the diff for D84820: [WebAssembly] Implement prototype v128.load{32,64}_zero instructions.
  • Renumber i32x4.dot_i16x8_s to match V8 as well
Aug 3 2020, 10:50 AM · Restricted Project, Restricted Project

Aug 2 2020

tlively accepted D85074: [WebAssembly] Use "signed char" instead of "char" in SIMD intrinsics..

Nice! Thanks for doing that :)

Aug 2 2020, 10:54 AM · Restricted Project

Jul 31 2020

tlively added a comment to D66035: [WebAssembly] WIP: Add support for reference types.

It would be good to split this into (at least) two patches. The first should do the minimal testable amount of work to get instruction selection working, and follow-on patches can add the other parts, like additions to the object file format. Part of the reason for that split is that different people will be better at reviewing those different parts of the patch.

Jul 31 2020, 7:15 PM · Restricted Project, Restricted Project
tlively added a comment to D66035: [WebAssembly] WIP: Add support for reference types.

I will be splitting the part enabling the target feature through clang into a separate revision as suggested by @tlively

I just noticed that most of this work landed in an earlier commit

Jul 31 2020, 10:07 AM · Restricted Project, Restricted Project

Jul 30 2020

tlively added inline comments to D84820: [WebAssembly] Implement prototype v128.load{32,64}_zero instructions.
Jul 30 2020, 5:42 PM · Restricted Project, Restricted Project
tlively updated the diff for D84820: [WebAssembly] Implement prototype v128.load{32,64}_zero instructions.
  • Remove IntrSpeculatable
Jul 30 2020, 12:40 PM · Restricted Project, Restricted Project

Jul 29 2020

tlively added a comment to D84820: [WebAssembly] Implement prototype v128.load{32,64}_zero instructions.

Since this changes opcodes, it needs to be landed in concert with the corresponding Binaryen change.

Jul 29 2020, 3:00 PM · Restricted Project, Restricted Project

Jul 28 2020

tlively requested review of D84820: [WebAssembly] Implement prototype v128.load{32,64}_zero instructions.
Jul 28 2020, 8:27 PM · Restricted Project, Restricted Project
tlively added inline comments to D84556: [WebAssembly] Remove intrinsics for SIMD widening ops.
Jul 28 2020, 7:59 PM · Restricted Project, Restricted Project
tlively committed rG11bb7eef4152: [WebAssembly] Remove intrinsics for SIMD widening ops (authored by tlively).
[WebAssembly] Remove intrinsics for SIMD widening ops
Jul 28 2020, 6:26 PM
tlively closed D84556: [WebAssembly] Remove intrinsics for SIMD widening ops.
Jul 28 2020, 6:26 PM · Restricted Project, Restricted Project
tlively added inline comments to D84556: [WebAssembly] Remove intrinsics for SIMD widening ops.
Jul 28 2020, 6:18 PM · Restricted Project, Restricted Project
tlively committed rGffd8c23ccb74: [WebAssembly] Implement truncating vector stores (authored by tlively).
[WebAssembly] Implement truncating vector stores
Jul 28 2020, 5:47 PM
tlively closed D84377: [WebAssembly] Implement truncating vector stores.
Jul 28 2020, 5:46 PM · Restricted Project
tlively added a comment to D66035: [WebAssembly] WIP: Add support for reference types.

Please ignore my .gitlab-ci.yml. That's just an internal change that I got uploaded by mistake.
I am looking to see this through and start discussion on this with the goal of landing it.

Jul 28 2020, 11:44 AM · Restricted Project, Restricted Project

Jul 27 2020

tlively accepted D84705: [WebAssembly] Fixed 64-bit indices in br_table.

LGTM!

Jul 27 2020, 5:03 PM · Restricted Project

Jul 24 2020

Herald added projects to D84556: [WebAssembly] Remove intrinsics for SIMD widening ops: Restricted Project, Restricted Project.
Jul 24 2020, 1:54 PM · Restricted Project, Restricted Project

Jul 23 2020

tlively updated the summary of D84377: [WebAssembly] Implement truncating vector stores.
Jul 23 2020, 9:13 PM · Restricted Project
tlively committed rGa459459248db: [WebAssembly] Fix store_unfolded_offset tests in simd-offset.ll (authored by tlively).
[WebAssembly] Fix store_unfolded_offset tests in simd-offset.ll
Jul 23 2020, 4:05 PM
tlively closed D84365: [WebAssembly] Fix store_unfolded_offset tests in simd-offset.ll.
Jul 23 2020, 4:05 PM · Restricted Project
tlively updated the diff for D84377: [WebAssembly] Implement truncating vector stores.
  • Improve codegen: use faster i32x4.splats and reuse the existing vector as the second narrowing argument
Jul 23 2020, 3:52 PM · Restricted Project
tlively added a comment to D84365: [WebAssembly] Fix store_unfolded_offset tests in simd-offset.ll.

They seem to have been written that way because negative offsets aren't folded? What does it mean that they are duplicates of other patterns?

Jul 23 2020, 2:04 PM · Restricted Project

Jul 22 2020

Herald added a project to D84377: [WebAssembly] Implement truncating vector stores: Restricted Project.
Jul 22 2020, 6:20 PM · Restricted Project
Herald added a project to D84365: [WebAssembly] Fix store_unfolded_offset tests in simd-offset.ll: Restricted Project.
Jul 22 2020, 3:29 PM · Restricted Project
tlively committed rG51cd326f99bb: [WebAssembly] Autogenerate checks in simd-offset.ll (authored by tlively).
[WebAssembly] Autogenerate checks in simd-offset.ll
Jul 22 2020, 10:13 AM
tlively closed D84288: [WebAssembly] Autogenerate checks in simd-offset.ll.
Jul 22 2020, 10:12 AM · Restricted Project

Jul 21 2020

Herald added a project to D84288: [WebAssembly] Autogenerate checks in simd-offset.ll: Restricted Project.
Jul 21 2020, 6:25 PM · Restricted Project
tlively planned changes to D83615: [WebAssembly] Custom combine splat build_vectors into swizzles.
Jul 21 2020, 2:11 PM · Restricted Project
tlively planned changes to D83606: [DAGCombiner][WebAssembly] Combine shuffles of more splat vals.
Jul 21 2020, 2:10 PM · Restricted Project
tlively planned changes to D83605: [SelectionDAG][WebAssembly] Recognize splat value ABS operations.
Jul 21 2020, 2:10 PM · Restricted Project
tlively planned changes to D83602: [DAGCombiner] Scalarize splats with just one demanded lane.

I'm taking this patch sequence out of the review queue for now, pending an investigation of the alternatives suggested above.

Jul 21 2020, 2:10 PM · Restricted Project

Jul 16 2020

tlively added a comment to D83602: [DAGCombiner] Scalarize splats with just one demanded lane.

Thank you all for the comments! I agree that the opcodes in SelectionDAG::isSplatValue are rather arbitrary, so a more principled approach using a TLI hook might be better. I will take a look at what X86 is doing to see if a simpler solution would work for WebAssembly, too.

Jul 16 2020, 1:00 PM · Restricted Project
tlively committed rGecb2e5bcd7e6: [WebAssembly] Implement v128.select (authored by tlively).
[WebAssembly] Implement v128.select
Jul 16 2020, 11:37 AM
tlively closed D83737: [WebAssembly] Implement v128.select.
Jul 16 2020, 11:37 AM · Restricted Project