Page MenuHomePhabricator

aheejin (Heejin Ahn)
Bot

Projects

User does not belong to any projects.

User Details

User Since
Jul 29 2016, 12:33 AM (217 w, 5 h)

Recent Activity

Yesterday

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

Tue, Sep 8

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

Mon, Sep 7

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

Sun, Sep 6

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

Fri, Sep 4

aheejin accepted D87110: [WebAssembly] Fix incorrect assumption of simple value types.
Fri, Sep 4, 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
aheejin added inline comments to D83277: [WebAssembly] Generate unreachable after __stack_chk_fail.
Jul 6 2020, 10:08 PM · Restricted Project
aheejin updated the diff for D83277: [WebAssembly] Generate unreachable after __stack_chk_fail.
  • Align FileCheck lines
Jul 6 2020, 10:08 PM · Restricted Project
Herald added a project to D83277: [WebAssembly] Generate unreachable after __stack_chk_fail: Restricted Project.
Jul 6 2020, 10:06 PM · Restricted Project

Jun 19 2020

aheejin added a comment to D81909: [WebAssembly] Fix bug in FixBrTables and use branch analysis utils.

@MaskRay Thanks!

Jun 19 2020, 4:51 PM · Restricted Project
aheejin committed rG83c26eae2349: [WebAssembly] Remove TEEs when dests are unstackified (authored by aheejin).
[WebAssembly] Remove TEEs when dests are unstackified
Jun 19 2020, 3:15 PM
aheejin closed D81851: [WebAssembly] Remove TEEs when dests are unstackified.
Jun 19 2020, 3:14 PM · Restricted Project
aheejin added a comment to D81909: [WebAssembly] Fix bug in FixBrTables and use branch analysis utils.

Hi, you can drop Reviewers: Subscribers: Tags: and the text Summary: from the git commit with the following script:

arcfilter () {
        arc amend
        git log -1 --pretty=%B | awk '/Reviewers:|Subscribers:/{p=1} /Reviewed By:|Differential Revision:/{p=0} !p && !/^Summary:$/ {sub(/^Summary: /,"");print}' | git commit --amend --date=now -F -
}

Reviewed By: is considered important by some people. Please keep the tag. (I have updated my script to use --date=now (setting author date to committer date))

https://reviews.llvm.org/D80978 contains a git pre-push hook to automate this.

Jun 19 2020, 3:14 PM · Restricted Project

Jun 17 2020

aheejin added inline comments to D81909: [WebAssembly] Fix bug in FixBrTables and use branch analysis utils.
Jun 17 2020, 2:34 PM · Restricted Project
aheejin added inline comments to D81909: [WebAssembly] Fix bug in FixBrTables and use branch analysis utils.
Jun 17 2020, 1:29 PM · Restricted Project
aheejin added inline comments to D81909: [WebAssembly] Fix bug in FixBrTables and use branch analysis utils.
Jun 17 2020, 12:56 PM · Restricted Project
aheejin accepted D81909: [WebAssembly] Fix bug in FixBrTables and use branch analysis utils.

Sorry for the delayed reply!

Jun 17 2020, 11:50 AM · Restricted Project

Jun 15 2020

aheejin added a comment to D81851: [WebAssembly] Remove TEEs when dests are unstackified.

Yeah I switched to this version to address your comment here. And yeah I think this is better that we don't violate assumptions on TEEs and keep ExplicitLocals to its core tasks, while we put all ugly things in fixUnwindMismatches, which is ugly anyway :$... Joking, but I think it's better that fixUnwindMismatches takes care of its own messes.

Jun 15 2020, 10:55 AM · Restricted Project
aheejin updated the diff for D81851: [WebAssembly] Remove TEEs when dests are unstackified.
  • comment fix
Jun 15 2020, 10:55 AM · Restricted Project
aheejin abandoned D81758: [WebAssembly] Handle unstackified TEE dest in ExplicitLocals.

Closing in favor of D81851.

Jun 15 2020, 9:46 AM · Restricted Project
aheejin created D81851: [WebAssembly] Remove TEEs when dests are unstackified.
Jun 15 2020, 9:46 AM · Restricted Project

Jun 13 2020

aheejin added inline comments to D80769: [WebAssembly] Adding 64-bit versions of all load & store ops..
Jun 13 2020, 9:38 AM · Restricted Project
aheejin added a comment to D81704: [WebAssembly] Adding 64-bit version of R_WASM_MEMORY_ADDR_* relocs.

(Phabricator tip: You can set parent / child revisions, which can be useful in case multiple CLs are in flight and have not been landed yet :) Probably you already know that, but anyway just in case)

Jun 13 2020, 9:06 AM · Restricted Project

Jun 12 2020

aheejin updated the diff for D81758: [WebAssembly] Handle unstackified TEE dest in ExplicitLocals.
  • is -> gets / becomes
Jun 12 2020, 2:54 PM · Restricted Project
aheejin added a comment to D81758: [WebAssembly] Handle unstackified TEE dest in ExplicitLocals.

(I'll use the term "de-stackify" as a verb to avoid confusion).

Jun 12 2020, 2:54 PM · Restricted Project
aheejin accepted D80769: [WebAssembly] Adding 64-bit versions of all load & store ops..

Some lines in WebAssemblyInstrAtomics.td and WebAssemblyInstrSIMD.td look they exceed 80 cols, so please fix that too :)

Jun 12 2020, 1:08 PM · Restricted Project
aheejin accepted D81757: [WebAssembly] Add intrinsic for i64x2.mul.
Jun 12 2020, 1:07 PM · Restricted Project
aheejin updated the diff for D81758: [WebAssembly] Handle unstackified TEE dest in ExplicitLocals.
  • Fix typo in comment
Jun 12 2020, 1:07 PM · Restricted Project
aheejin updated the summary of D81758: [WebAssembly] Handle unstackified TEE dest in ExplicitLocals.
Jun 12 2020, 1:07 PM · Restricted Project
aheejin updated the summary of D81758: [WebAssembly] Handle unstackified TEE dest in ExplicitLocals.
Jun 12 2020, 1:07 PM · Restricted Project
aheejin created D81758: [WebAssembly] Handle unstackified TEE dest in ExplicitLocals.
Jun 12 2020, 12:41 PM · Restricted Project
aheejin added inline comments to D80769: [WebAssembly] Adding 64-bit versions of all load & store ops..
Jun 12 2020, 12:02 PM · Restricted Project

Jun 11 2020

aheejin accepted D81628: [WebAssembly] Make BR_TABLE non-duplicable.

LGTM either with isNotDuplicable or isConvergent, as long as it works. I'm not familiar with what isConvergent is used for either, so..

Jun 11 2020, 5:26 AM · Restricted Project

Jun 10 2020

aheejin committed rGa5099ad918c5: [WebAssembly] Fix a warning for an unused variable (authored by aheejin).
[WebAssembly] Fix a warning for an unused variable
Jun 10 2020, 10:35 AM

Jun 8 2020

aheejin added inline comments to D80769: [WebAssembly] Adding 64-bit versions of all load & store ops..
Jun 8 2020, 6:16 PM · Restricted Project
aheejin added inline comments to D80769: [WebAssembly] Adding 64-bit versions of all load & store ops..
Jun 8 2020, 11:35 AM · Restricted Project

Jun 7 2020

aheejin added a comment to D80769: [WebAssembly] Adding 64-bit versions of all load & store ops..

Question: Is this feature gonna be handled by -mtriple and not -mattrs like other features?

Jun 7 2020, 8:29 AM · Restricted Project
aheejin accepted D81303: [NFC][WebAssembly] Add tests for alignment on new SIMD loads.

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

Jun 7 2020, 3:09 AM · Restricted Project
aheejin accepted D81222: [WebAssembly] Implement prototype SIMD rounding instructions.
Jun 7 2020, 2:05 AM · Restricted Project, Restricted Project

Jun 4 2020

aheejin accepted D81055: [WebAssembly] Lower llvm.debugtrap properly.

I see. Thanks for the explanation.

Jun 4 2020, 12:09 PM · Restricted Project

Jun 3 2020

aheejin added a comment to D81055: [WebAssembly] Lower llvm.debugtrap properly.

Binaryen doesn't assume an unreachable is actually unreachable, the way C compilers do, does it? (and remove code before the unreachable)? I think it just knows that instructions that come after it are unreachable and removes those. I think it's ok once it's lowered to wasm unreachable; it really won't be able to return (and so Binaryen can do DCE), but that seems like a legit behavior for @llvm.debugtrap according to the langref.

Jun 3 2020, 8:21 PM · Restricted Project
aheejin added a comment to D81055: [WebAssembly] Lower llvm.debugtrap properly.

I'm not very familiar with how wasm debugger works, but do they use unreachable for breakpoints? Binaryen assumes unreachable is really unreachable and does all sorts of optimizations including DCE and everything, so if unreachable is actually used in debugger, that seems risky..?

Jun 3 2020, 11:32 AM · Restricted Project
aheejin accepted D81025: [WebAssembly] Fix ISel crash in SIGN_EXTEND_INREG lowering.
Jun 3 2020, 10:25 AM · Restricted Project

Jun 1 2020

aheejin accepted D80968: [WebAssembly] Improve macro hygiene in wasm_simd128.h.
Jun 1 2020, 10:09 PM · Restricted Project
aheejin accepted D80863: [WebAssembly] Eliminate range checks on br_tables.
Jun 1 2020, 10:09 PM · Restricted Project
aheejin added inline comments to D80863: [WebAssembly] Eliminate range checks on br_tables.
Jun 1 2020, 7:28 AM · Restricted Project
aheejin added a comment to D80863: [WebAssembly] Eliminate range checks on br_tables.

I didn't know about this optimization opportunity! Please make sure to run emscripten tests before landing because it contains some new assumptions.

Jun 1 2020, 6:55 AM · Restricted Project

May 28 2020

aheejin committed rG4cd3f4b31b0b: [WebAssembly] Fix a bug in finding matching EH pad (authored by aheejin).
[WebAssembly] Fix a bug in finding matching EH pad
May 28 2020, 7:48 PM
aheejin closed D80571: [WebAssembly] Fix a bug in finding matching EH pad.
May 28 2020, 7:48 PM · Restricted Project
aheejin committed rG3fe6ea4641b2: [WebAssembly] Fix a bug in removing unnecessary branches (authored by aheejin).
[WebAssembly] Fix a bug in removing unnecessary branches
May 28 2020, 7:47 PM
aheejin closed D80572: [WebAssembly] Fix a bug in removing unnecessary branches.
May 28 2020, 7:47 PM · Restricted Project
aheejin retitled D80572: [WebAssembly] Fix a bug in removing unnecessary branches from [WebbAssembly] Fix a bug in removing unnecessary branches to [WebAssembly] Fix a bug in removing unnecessary branches.
May 28 2020, 6:11 PM · Restricted Project