Page MenuHomePhabricator

tlively (Thomas Lively)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 31 2018, 10:54 AM (113 w, 1 d)

Recent Activity

Yesterday

tlively requested review of D88591: [WebAssembly] Emulate v128.const efficiently.
Wed, Sep 30, 10:01 AM · Restricted Project

Tue, Sep 29

tlively accepted D88506: [lld][WebAssembly] Allow exporting of mutable globals.

Ah, I didn't realize export-all already didn't export these symbols, but that makes sense. Can we make sure the help documentation mentions that export-all does not include synthetic symbols?

Tue, Sep 29, 2:52 PM · Restricted Project
tlively added a comment to D88506: [lld][WebAssembly] Allow exporting of mutable globals.

I think it's kind of confusing that export-all doesn't actually export all the symbols. What if we instead made export-all exactly equivalent to individually exporting all the symbols so that it errors out if mutable-globals is not enabled and any of the symbols is a mutable global? Then we could add a --no-export=<symbol> flag that users or drivers could use to filter out the mutable global symbols if they can't enable mutable-globals and need to avoid the error.

Tue, Sep 29, 12:35 PM · Restricted Project

Mon, Sep 28

tlively added a comment to D88369: [lld][WebAssembly] Fix segfault in map file support.

I'm not actually sure how to do that in the .s format, since I found this on a real-world project. Do you know what I should add to the test?

Mon, Sep 28, 6:48 PM · Restricted Project

Sat, Sep 26

tlively requested review of D88369: [lld][WebAssembly] Fix segfault in map file support.
Sat, Sep 26, 4:33 PM · Restricted Project

Fri, Sep 25

tlively committed rG89fe083c1979: [WebAssembly] Check features before making SjLj vars thread-local (authored by tlively).
[WebAssembly] Check features before making SjLj vars thread-local
Fri, Sep 25, 11:45 AM
tlively closed D88323: [WebAssembly] Check features before making SjLj vars thread-local.
Fri, Sep 25, 11:45 AM · Restricted Project
tlively added inline comments to D88323: [WebAssembly] Check features before making SjLj vars thread-local.
Fri, Sep 25, 11:24 AM · Restricted Project
tlively updated the diff for D88323: [WebAssembly] Check features before making SjLj vars thread-local.
  • Restore proper pass order. It is important to run CoalesceFeaturesAndStripAtomics before SjLj lowering so that SjLj lowering reads the correctly updated feature string.
Fri, Sep 25, 11:23 AM · Restricted Project
tlively added inline comments to D88323: [WebAssembly] Check features before making SjLj vars thread-local.
Fri, Sep 25, 11:14 AM · Restricted Project
tlively requested review of D88323: [WebAssembly] Check features before making SjLj vars thread-local.
Fri, Sep 25, 10:55 AM · Restricted Project

Thu, Sep 24

tlively committed rG15a5e86fb387: [lld][WebAssembly] Allow `atomics` feature with unshared memory (authored by tlively).
[lld][WebAssembly] Allow `atomics` feature with unshared memory
Thu, Sep 24, 8:35 PM
tlively closed D79530: [lld][WebAssembly] Allow `atomics` feature with unshared memory.
Thu, Sep 24, 8:35 PM · Restricted Project
tlively added a comment to D79530: [lld][WebAssembly] Allow `atomics` feature with unshared memory.

But I guess its only temporary as soon engines will catch up and the error will go away.

Thu, Sep 24, 4:30 PM · Restricted Project
tlively committed rG1c5a3c4d3823: [WebAssembly] Make SjLj lowering globals thread-local (authored by tlively).
[WebAssembly] Make SjLj lowering globals thread-local
Thu, Sep 24, 2:56 PM
tlively closed D88262: [WebAssembly] Make SjLj lowering globals thread-local.
Thu, Sep 24, 2:56 PM · Restricted Project
tlively added a comment to D88262: [WebAssembly] Make SjLj lowering globals thread-local.

@kripken I'm going to land this. Will you take care of the combined roll with https://github.com/emscripten-core/emscripten/pull/12056?

Thu, Sep 24, 2:51 PM · Restricted Project
tlively added inline comments to D88262: [WebAssembly] Make SjLj lowering globals thread-local.
Thu, Sep 24, 2:50 PM · Restricted Project
tlively added a comment to D88262: [WebAssembly] Make SjLj lowering globals thread-local.

Just to be sure, is it ok to do this even when atomics are not enabled?

Thu, Sep 24, 2:49 PM · Restricted Project
tlively requested review of D88262: [WebAssembly] Make SjLj lowering globals thread-local.
Thu, Sep 24, 2:42 PM · Restricted Project

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