Page MenuHomePhabricator
Feed Advanced Search

Thu, Oct 15

aheejin accepted D89446: [WebAssembly] Prototype i8x16.popcnt.
Thu, Oct 15, 4:46 AM · Restricted Project, Restricted Project
aheejin accepted D89366: [WebAssembly] v128.load{8,16,32,64}_lane instructions.
Thu, Oct 15, 4:37 AM · Restricted Project, Restricted Project

Wed, Oct 14

aheejin added a comment to D89366: [WebAssembly] v128.load{8,16,32,64}_lane instructions.

Do loads need the vector argument? The proposal has that but I'm wondering why... Can that possibly be an error from the author's side?

Wed, Oct 14, 2:55 PM · Restricted Project, Restricted Project
aheejin accepted D89366: [WebAssembly] v128.load{8,16,32,64}_lane instructions.
Wed, Oct 14, 4:10 AM · Restricted Project, Restricted Project

Thu, Oct 8

aheejin committed rG750b3ddd80f1: [WebAssembly] Handle indirect uses of longjmp (authored by aheejin).
[WebAssembly] Handle indirect uses of longjmp
Thu, Oct 8, 11:45 AM
aheejin closed D89032: [WebAssembly] Handle indirect uses of longjmp.
Thu, Oct 8, 11:45 AM · Restricted Project
aheejin updated the summary of D89032: [WebAssembly] Handle indirect uses of longjmp.
Thu, Oct 8, 11:37 AM · Restricted Project
aheejin accepted D88968: [WebAssembly] Prototype i16x8.q15mulr_sat_s.
Thu, Oct 8, 3:39 AM · Restricted Project, Restricted Project
aheejin updated the summary of D89032: [WebAssembly] Handle indirect uses of longjmp.
Thu, Oct 8, 3:26 AM · Restricted Project
aheejin requested review of D89032: [WebAssembly] Handle indirect uses of longjmp.
Thu, Oct 8, 3:25 AM · Restricted Project

Wed, Oct 7

aheejin committed rG3bba91f64eef: [WebAssembly] Rename Emscripten EH functions (authored by aheejin).
[WebAssembly] Rename Emscripten EH functions
Wed, Oct 7, 9:43 AM
aheejin closed D88697: [WebAssembly] Rename Emscripten EH functions.
Wed, Oct 7, 9:43 AM · Restricted Project

Tue, Oct 6

aheejin added inline comments to D88697: [WebAssembly] Rename Emscripten EH functions.
Tue, Oct 6, 11:36 AM · Restricted Project
aheejin added inline comments to D88697: [WebAssembly] Rename Emscripten EH functions.
Tue, Oct 6, 11:32 AM · Restricted Project
aheejin updated the diff for D88697: [WebAssembly] Rename Emscripten EH functions.
  • Add InvokeDetected output param to getMCSymbolForFunction
  • Rename InvokeWrapper to just Invoke
Tue, Oct 6, 11:32 AM · Restricted Project
aheejin updated the diff for D88697: [WebAssembly] Rename Emscripten EH functions.
  • EmSymbols -> InvokeSymbols
Tue, Oct 6, 5:09 AM · Restricted Project
aheejin updated the summary of D88697: [WebAssembly] Rename Emscripten EH functions.
Tue, Oct 6, 4:58 AM · Restricted Project
aheejin added inline comments to D88697: [WebAssembly] Rename Emscripten EH functions.
Tue, Oct 6, 4:43 AM · Restricted Project
aheejin updated the diff for D88697: [WebAssembly] Rename Emscripten EH functions.
Add `invoke_ignoreme` test
Tue, Oct 6, 4:43 AM · Restricted Project
aheejin added a comment to D88697: [WebAssembly] Rename Emscripten EH functions.

Sorry for changing things again; I reverted the invoke renaming part. Renaming this turns out to change a lot of things in Emscripten side, which I think is really better be a separate patch.

Tue, Oct 6, 4:00 AM · Restricted Project

Mon, Oct 5

aheejin updated the summary of D88697: [WebAssembly] Rename Emscripten EH functions.
Mon, Oct 5, 7:56 PM · Restricted Project
aheejin added inline comments to D88697: [WebAssembly] Rename Emscripten EH functions.
Mon, Oct 5, 7:49 PM · Restricted Project
aheejin updated the diff for D88697: [WebAssembly] Rename Emscripten EH functions.

Revise invoke format

Mon, Oct 5, 7:47 PM · Restricted Project

Sat, Oct 3

aheejin added inline comments to D88697: [WebAssembly] Rename Emscripten EH functions.
Sat, Oct 3, 1:41 AM · Restricted Project
aheejin updated the diff for D88697: [WebAssembly] Rename Emscripten EH functions.
  • Error out for wasm64
Sat, Oct 3, 1:41 AM · Restricted Project

Fri, Oct 2

aheejin updated the summary of D88697: [WebAssembly] Rename Emscripten EH functions.
Fri, Oct 2, 3:41 PM · Restricted Project
aheejin updated the diff for D88697: [WebAssembly] Rename Emscripten EH functions.
  • more comment
Fri, Oct 2, 12:19 PM · Restricted Project
aheejin added inline comments to D88697: [WebAssembly] Rename Emscripten EH functions.
Fri, Oct 2, 12:08 PM · Restricted Project
aheejin updated the diff for D88697: [WebAssembly] Rename Emscripten EH functions.
  • Revert accidental .clang-tidy change + variable renaming
Fri, Oct 2, 12:02 PM · Restricted Project
aheejin updated the summary of D88697: [WebAssembly] Rename Emscripten EH functions.
Fri, Oct 2, 11:56 AM · Restricted Project
aheejin updated the diff for D88697: [WebAssembly] Rename Emscripten EH functions.

Use emscripten_longjmp directly in LowerEmscriptenEHSjLj pass

Fri, Oct 2, 11:55 AM · Restricted Project
aheejin added a comment to D88697: [WebAssembly] Rename Emscripten EH functions.

There are two occasions that we add a call to emscripten_longjmp, but one of them is calling it with an argument type jmp_buf. So we need two different signatures, and thus two different functions there.

Would it also work to emit a bitcast of some sort from jmp_buf to i32 where that second kind of emscripten_longjmp call is generated? If so, would that be simpler overall?

Fri, Oct 2, 11:55 AM · Restricted Project

Thu, Oct 1

aheejin updated the diff for D88697: [WebAssembly] Rename Emscripten EH functions.
  • Address comments
Thu, Oct 1, 8:53 PM · Restricted Project
aheejin added a comment to D88697: [WebAssembly] Rename Emscripten EH functions.

So, just to be sure I understand the architecture here:
Previously we use separate longjup_jmpbuf/longjmp and __invoke_{$LLVMSIG} because the lowering pass runs on IR and the IR type system's rules apply (and we don't have wasm signatures there). Now we can get wasm function signatures at AsmPrinter::emitEndOfAsmFile and the only thing that needs to be done is rename them?

Thu, Oct 1, 8:51 PM · Restricted Project
aheejin updated the summary of D88697: [WebAssembly] Rename Emscripten EH functions.
Thu, Oct 1, 6:02 PM · Restricted Project
aheejin updated the diff for D88697: [WebAssembly] Rename Emscripten EH functions.
  • Comment fix
Thu, Oct 1, 4:54 PM · Restricted Project
aheejin updated the diff for D88697: [WebAssembly] Rename Emscripten EH functions.
  • Update test expectations
Thu, Oct 1, 1:59 PM · Restricted Project
aheejin accepted D88591: [WebAssembly] Emulate v128.const efficiently.
Thu, Oct 1, 1:52 PM · Restricted Project
aheejin updated the summary of D88697: [WebAssembly] Rename Emscripten EH functions.
Thu, Oct 1, 1:41 PM · Restricted Project
aheejin added inline comments to D88697: [WebAssembly] Rename Emscripten EH functions.
Thu, Oct 1, 1:36 PM · Restricted Project
aheejin requested review of D88697: [WebAssembly] Rename Emscripten EH functions.
Thu, Oct 1, 1:28 PM · Restricted Project
aheejin added a comment to D88591: [WebAssembly] Emulate v128.const efficiently.

Nice idea! I believe this approach will be better in most cases; the only possible downside I can think of is something like this. In our test case there's this test:

define <4 x i32> @splat_common_const_i32x4() {
  ret <4 x i32> <i32 undef, i32 3, i32 3, i32 1>
}
Thu, Oct 1, 7:44 AM · Restricted Project

Mon, Sep 28

aheejin committed rG4c41fb5ad70c: [WebAssembly] Use wasm::Signature for in ObjectWriter (NFC) (authored by aheejin).
[WebAssembly] Use wasm::Signature for in ObjectWriter (NFC)
Mon, Sep 28, 10:47 AM
aheejin closed D88428: [WebAssembly] Use wasm::Signature for in ObjectWriter (NFC).
Mon, Sep 28, 10:47 AM · Restricted Project
aheejin retitled D88428: [WebAssembly] Use wasm::Signature for in ObjectWriter (NFC) from [WebAssembly] Use wasm::Signature for in ObjectWriter to [WebAssembly] Use wasm::Signature for in ObjectWriter (NFC).
Mon, Sep 28, 9:23 AM · Restricted Project
aheejin requested review of D88428: [WebAssembly] Use wasm::Signature for in ObjectWriter (NFC).
Mon, Sep 28, 9:19 AM · Restricted Project

Thu, Sep 24

aheejin accepted D88262: [WebAssembly] Make SjLj lowering globals thread-local.
Thu, Sep 24, 2:52 PM · Restricted Project

Sep 8 2020

aheejin committed rGd25c17f3175b: [WebAssembly] Fix fixEndsAtEndOfFunction for try-catch (authored by aheejin).
[WebAssembly] Fix fixEndsAtEndOfFunction for try-catch
Sep 8 2020, 9:28 AM
aheejin closed D87207: [WebAssembly] Fix fixEndsAtEndOfFunction for try-catch.
Sep 8 2020, 9:27 AM · Restricted Project
aheejin committed rG71133e8b5bce: [clang-tidy] Fix linking for FrontendOpenMP (authored by aheejin).
[clang-tidy] Fix linking for FrontendOpenMP
Sep 8 2020, 9:23 AM

Sep 7 2020

aheejin updated the diff for D87207: [WebAssembly] Fix fixEndsAtEndOfFunction for try-catch.
  • clang-tidy fix
Sep 7 2020, 11:26 AM · Restricted Project

Sep 6 2020

aheejin added inline comments to D87207: [WebAssembly] Fix fixEndsAtEndOfFunction for try-catch.
Sep 6 2020, 12:04 PM · Restricted Project
aheejin requested review of D87207: [WebAssembly] Fix fixEndsAtEndOfFunction for try-catch.
Sep 6 2020, 12:00 PM · Restricted Project

Sep 4 2020

aheejin accepted D87110: [WebAssembly] Fix incorrect assumption of simple value types.
Sep 4 2020, 8:22 AM · Restricted Project

Aug 14 2020

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

Yeah, that sounds better, if that does not involve too much effort.

Aug 14 2020, 12:31 PM · Restricted Project

Aug 13 2020

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

I took a little more look at this and all of this cost model is very confusing. :( First I don't understand why the lists of intrinsics listed in switch-cases in getIntrinsicInstrCost and getTypeBasedIntrinsicInstrCost are different. fshr is listed only in getIntrinsicInstrCost but not in getTypeBasedIntrinsicInstrCost. It uses some more info than just types (like if some value is power of 2 or something), but even if we don't assume anything, it returns a far greater number (in this case 5) because it computes and accumulates cost for each of its argument while getTypeBasedIntrinsicInstrCost does not have a case handling for fshr so it just assumes it is cheap and returns 1.

Aug 13 2020, 11:38 PM · Restricted Project
aheejin added inline comments to D85759: [SLPVectorizer] Fix regression from cost model refactoring.
Aug 13 2020, 3:43 PM · Restricted Project
aheejin accepted D85494: [WebAssembly] Allow inlining functions with different features.
Aug 13 2020, 1:06 PM · Restricted Project

Aug 12 2020

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

Not sure if it's worth it if there's no precedents. If people use our toolchain (clang or emscripten or rust or whatever) that wouldn't happen in the first place. Maybe it'd be sufficient to print some warning messages in CoalesceFeaturesAndStripAtomics if features don't match..?

Aug 12 2020, 6:31 PM · Restricted Project
aheejin 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:29 PM · Restricted Project

Aug 11 2020

aheejin 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 11 2020, 7:27 PM · Restricted Project
aheejin accepted D85764: [WebAssembly][NFC] Replace WASM with standard Wasm.
Aug 11 2020, 12:15 PM · Restricted Project

Aug 10 2020

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

Nice! Just wondering, then are we able to fold most of our SIMD intrinsics here too?

Aug 10 2020, 12:41 PM · Restricted Project

Aug 8 2020

aheejin accepted D85581: [WebAssembly] Fix FastISel address calculation bug.
Aug 8 2020, 3:09 AM · Restricted Project
aheejin resigned from D84375: [git-clang-format] Add --diffstat parameter.
Aug 8 2020, 2:28 AM · Restricted Project, Restricted Project
aheejin added a comment to D85494: [WebAssembly] Allow inlining functions with different features.

+1 on only inlining into functions which have a superset of features; it looks safer that way.

Aug 8 2020, 2:21 AM · Restricted Project

Jul 30 2020

aheejin accepted D84820: [WebAssembly] Implement prototype v128.load{32,64}_zero instructions.
Jul 30 2020, 1:50 AM · Restricted Project, Restricted Project

Jul 29 2020

aheejin abandoned D84876: [clangd] Add clangdSupport to indexer target libraries.

It looks it was already addressed by https://github.com/llvm/llvm-project/commit/1603470e59a99a39ebdc4bf62a3a16c8c4ebea36.

Jul 29 2020, 10:44 AM · Restricted Project
aheejin requested review of D84876: [clangd] Add clangdSupport to indexer target libraries.
Jul 29 2020, 10:38 AM · Restricted Project
aheejin committed rG276f9e8cfaf3: [WebAssembly] Fix getBottom for loops (authored by aheejin).
[WebAssembly] Fix getBottom for loops
Jul 29 2020, 10:37 AM
aheejin closed D84724: [WebAssembly] Fix getBottom for loops.
Jul 29 2020, 10:36 AM · Restricted Project

Jul 28 2020

aheejin added inline comments to D84556: [WebAssembly] Remove intrinsics for SIMD widening ops.
Jul 28 2020, 8:16 PM · Restricted Project, Restricted Project
aheejin added inline comments to D84556: [WebAssembly] Remove intrinsics for SIMD widening ops.
Jul 28 2020, 6:55 PM · Restricted Project, Restricted Project

Jul 27 2020

aheejin updated the summary of D84724: [WebAssembly] Fix getBottom for loops.
Jul 27 2020, 10:52 PM · Restricted Project
aheejin updated the summary of D84724: [WebAssembly] Fix getBottom for loops.
Jul 27 2020, 10:51 PM · Restricted Project
aheejin requested review of D84724: [WebAssembly] Fix getBottom for loops.
Jul 27 2020, 10:43 PM · Restricted Project

Jul 24 2020

aheejin added a comment to D84375: [git-clang-format] Add --diffstat parameter.

This looks fine to me, but I haven't worked on this part of code myself, so probably others who have can provide better review.

Jul 24 2020, 7:07 PM · Restricted Project, Restricted Project
aheejin accepted D84556: [WebAssembly] Remove intrinsics for SIMD widening ops.
Jul 24 2020, 7:05 PM · Restricted Project, Restricted Project
aheejin accepted D84377: [WebAssembly] Implement truncating vector stores.

It looks like very smart transformation!

Jul 24 2020, 12:56 AM · Restricted Project

Jul 23 2020

aheejin accepted D84365: [WebAssembly] Fix store_unfolded_offset tests in simd-offset.ll.

Aha I see. Thanks.

Jul 23 2020, 3:32 PM · Restricted Project

Jul 22 2020

aheejin 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 22 2020, 8:21 PM · Restricted Project

Jul 21 2020

aheejin accepted D84288: [WebAssembly] Autogenerate checks in simd-offset.ll.
Jul 21 2020, 8:26 PM · Restricted Project

Jul 16 2020

aheejin accepted D83729: [WebAssembly] 64-bit (function) pointer fixes..
Jul 16 2020, 12:42 PM · Restricted Project
aheejin added inline comments to D83729: [WebAssembly] 64-bit (function) pointer fixes..
Jul 16 2020, 12:42 PM · Restricted Project

Jul 15 2020

aheejin accepted D83737: [WebAssembly] Implement v128.select.
Jul 15 2020, 11:43 PM · Restricted Project
aheejin added inline comments to D83734: [WebAssembly] Lower vselect to v128.bitselect.
Jul 15 2020, 11:33 PM · Restricted Project
aheejin accepted D83736: [WebAssembly] Autogenerate tests for simd-select.ll.

LGTM.
Nit: NFC usually means code change that does not affect output, so adding tests or changing tests is not NFC by that definition :)

Jul 15 2020, 9:28 PM · Restricted Project
aheejin accepted D83734: [WebAssembly] Lower vselect to v128.bitselect.
Jul 15 2020, 9:12 PM · Restricted Project
aheejin accepted D83615: [WebAssembly] Custom combine splat build_vectors into swizzles.

LGTM, but I posted a question on whether we need performBUILD_VECTORCombine in D83606.

Jul 15 2020, 8:11 PM · Restricted Project
aheejin added inline comments to D83606: [DAGCombiner][WebAssembly] Combine shuffles of more splat vals.
Jul 15 2020, 2:18 PM · Restricted Project

Jul 14 2020

aheejin added inline comments to D83602: [DAGCombiner] Scalarize splats with just one demanded lane.
Jul 14 2020, 9:18 PM · Restricted Project
aheejin added a comment to D83605: [SelectionDAG][WebAssembly] Recognize splat value ABS operations.

Wouldn't we want to add ISD::ABS to scalarizeSplatValue method in DAGCombiner.cpp too? WebAssembly wouldn't benefit from it, but it can benefit other targets that have a scalar abs instruction, and it is also consistent.

Jul 14 2020, 4:50 AM · Restricted Project
aheejin added a comment to D83602: [DAGCombiner] Scalarize splats with just one demanded lane.

I think this is a nice idea! But I'd like people working on other targets to check this too.

Jul 14 2020, 4:19 AM · Restricted Project

Jul 13 2020

aheejin added inline comments to D83729: [WebAssembly] 64-bit (function) pointer fixes..
Jul 13 2020, 11:54 PM · Restricted Project

Jul 10 2020

aheejin accepted D83581: [WebAssembly] Prefer v128.const for constant splats.
Jul 10 2020, 4:45 PM · Restricted Project

Jul 9 2020

aheejin accepted D83493: [WebAssembly][NFC] Simplify vector shift lowering and add tests.
Jul 9 2020, 2:13 PM · Restricted Project

Jul 8 2020

aheejin committed rG7e6793aa33dd: [WebAssembly] Generate unreachable after __stack_chk_fail (authored by aheejin).
[WebAssembly] Generate unreachable after __stack_chk_fail
Jul 8 2020, 1:02 AM
aheejin closed D83277: [WebAssembly] Generate unreachable after __stack_chk_fail.
Jul 8 2020, 1:02 AM · Restricted Project
aheejin updated the summary of D83277: [WebAssembly] Generate unreachable after __stack_chk_fail.
Jul 8 2020, 12:41 AM · Restricted Project

Jul 6 2020

aheejin updated the summary of D83277: [WebAssembly] Generate unreachable after __stack_chk_fail.
Jul 6 2020, 10:11 PM · Restricted Project