Page MenuHomePhabricator

aheejin (Heejin Ahn)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 29 2016, 12:33 AM (168 w, 3 d)

Recent Activity

Fri, Oct 18

aheejin added inline comments to D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic.
Fri, Oct 18, 4:14 PM · Restricted Project, Restricted Project
aheejin accepted D69156: [WebAssembly] Allow multivalue signatures in object files.
Fri, Oct 18, 5:25 AM · Restricted Project

Tue, Oct 15

aheejin accepted D68889: [WebAssembly] Allow multivalue types in block signature operands.
Tue, Oct 15, 11:26 AM · Restricted Project

Mon, Oct 14

aheejin accepted D68902: [WebAssembly] Trapping fptoint builtins and intrinsics.
Mon, Oct 14, 3:28 PM · Restricted Project, Restricted Project
aheejin added a comment to D68889: [WebAssembly] Allow multivalue types in block signature operands.

Nice! Mostly LGTM.

Currently non-void blocks are only generated at the end of functions where the block return type needs to agree with the function return type, and that remains true for multivalue blocks. That invariant means that the actual signature does not need to be stored in the block signature MachineOperand because it can be inferred by WebAssemblyMCInstLower from the return type of the parent function.

I guess this is a tentative state before you implement the rest of the proposal in full, right? If other blocks are able to return multivalue, are we gonna change their operands to also take typeindex?

Mon, Oct 14, 11:02 AM · Restricted Project

Fri, Oct 11

aheejin added a comment to D68889: [WebAssembly] Allow multivalue types in block signature operands.

Nice! Mostly LGTM.

Fri, Oct 11, 5:56 PM · Restricted Project
aheejin added inline comments to D68889: [WebAssembly] Allow multivalue types in block signature operands.
Fri, Oct 11, 5:56 PM · Restricted Project

Wed, Oct 9

aheejin accepted D68684: [WebAssembly] Make returns variadic.
Wed, Oct 9, 2:02 PM · Restricted Project
aheejin added a comment to D68527: [WebAssembly] v8x16.swizzle and rewrite BUILD_VECTOR lowering.

If swizzles are a lot more complicated that v128.const in execution, doesn't that mean swizzles will likely to take longer to execute in wasm? Why the opposite?

Swizzles lower directly to hardware instructions so they are fast for engines to execute. But doing the same operation without a swizzle instruction would require a long sequence of other wasm instructions and therefore be slow to execute. Because this difference is large for swizzles it is a good idea to prefer to use them when possible.

Wed, Oct 9, 1:47 PM · Restricted Project

Tue, Oct 8

aheejin accepted D68527: [WebAssembly] v8x16.swizzle and rewrite BUILD_VECTOR lowering.

We can make the decision based on whatever heuristic we want, but minimizing number of instructions seems like a good metric for now until we can run experiments to tune the selection algorithm.

Wouldn't minimizing the number of instruction be the same thing as minimizing the number of bytes, only more inaccurate?

Tue, Oct 8, 11:02 PM · Restricted Project
aheejin committed rG6a37c5d6fcae: [WebAssembly] Fix a bug in 'try' placement (authored by aheejin).
[WebAssembly] Fix a bug in 'try' placement
Tue, Oct 8, 9:23 AM
aheejin closed D68619: [WebAssembly] Fix a bug in 'try' placement.
Tue, Oct 8, 9:23 AM · Restricted Project
aheejin committed rL374073: [WebAssembly] Fix a bug in 'try' placement.
[WebAssembly] Fix a bug in 'try' placement
Tue, Oct 8, 9:13 AM
aheejin accepted D68531: [WebAssembly] Add builtin and intrinsic for v8x16.swizzle.

LLVM produces a poison value if the dynamic swizzle indices are greater than the vector size, but the WebAssembly instruction sets the corresponding output lane to zero.

Where do we set those undef or poison lanes to zero?

Tue, Oct 8, 8:54 AM · Restricted Project, Restricted Project
aheejin added a comment to D68527: [WebAssembly] v8x16.swizzle and rewrite BUILD_VECTOR lowering.
  • I remember before we had a somewhat complicated logic to calculate the number of bytes of total instructions of each case of the case we use v128.const and vs. when we use splats. Don't we need that anymore? Can we make the decision solely based the number of swizzles / consts / and splats?
Tue, Oct 8, 8:45 AM · Restricted Project

Mon, Oct 7

aheejin committed rGa58ddba1137d: [WebAssembly] Add REQUIRES: asserts to cfg-stackify-eh.ll (authored by aheejin).
[WebAssembly] Add REQUIRES: asserts to cfg-stackify-eh.ll
Mon, Oct 7, 10:27 PM
aheejin committed rL374015: [WebAssembly] Add REQUIRES: asserts to cfg-stackify-eh.ll.
[WebAssembly] Add REQUIRES: asserts to cfg-stackify-eh.ll
Mon, Oct 7, 10:27 PM
aheejin committed rGdaeead4b02f0: [WebAssembly] Fix unwind mismatch stat computation (authored by aheejin).
[WebAssembly] Fix unwind mismatch stat computation
Mon, Oct 7, 10:21 PM
aheejin committed rL373975: [WebAssembly] Fix unwind mismatch stat computation.
[WebAssembly] Fix unwind mismatch stat computation
Mon, Oct 7, 10:21 PM
aheejin committed rGae5bad7277f4: [llvm-lipo] Add TextAPI to LINK_COMPONENTS (authored by aheejin).
[llvm-lipo] Add TextAPI to LINK_COMPONENTS
Mon, Oct 7, 10:21 PM
aheejin closed D68552: [WebAssembly] Fix unwind mismatch stat computation.
Mon, Oct 7, 10:21 PM · Restricted Project
aheejin committed rL373974: [llvm-lipo] Add TextAPI to LINK_COMPONENTS.
[llvm-lipo] Add TextAPI to LINK_COMPONENTS
Mon, Oct 7, 10:21 PM
aheejin closed D68594: [llvm-lipo] Add TextAPI to LINK_COMPONENTS.
Mon, Oct 7, 10:21 PM · Restricted Project
aheejin committed rG58af5be28daf: [WebAssembly] Add memory intrinsics handling to mayThrow() (authored by aheejin).
[WebAssembly] Add memory intrinsics handling to mayThrow()
Mon, Oct 7, 10:20 PM
aheejin committed rL373967: [WebAssembly] Add memory intrinsics handling to mayThrow().
[WebAssembly] Add memory intrinsics handling to mayThrow()
Mon, Oct 7, 10:20 PM
aheejin closed D68553: [WebAssembly] Add memory intrinsics handling to mayThrow().
Mon, Oct 7, 10:20 PM · Restricted Project
aheejin added a comment to D68552: [WebAssembly] Fix unwind mismatch stat computation.

Thank you! Done in r374015.

Mon, Oct 7, 7:53 PM · Restricted Project
aheejin updated the summary of D68619: [WebAssembly] Fix a bug in 'try' placement.
Mon, Oct 7, 6:09 PM · Restricted Project
aheejin created D68619: [WebAssembly] Fix a bug in 'try' placement.
Mon, Oct 7, 6:07 PM · Restricted Project
aheejin added a comment to D68594: [llvm-lipo] Add TextAPI to LINK_COMPONENTS.

Merging this, because this crashes builds.

Mon, Oct 7, 3:06 PM · Restricted Project
aheejin created D68594: [llvm-lipo] Add TextAPI to LINK_COMPONENTS.
Mon, Oct 7, 2:21 PM · Restricted Project
aheejin updated the summary of D68553: [WebAssembly] Add memory intrinsics handling to mayThrow().
Mon, Oct 7, 2:11 PM · Restricted Project

Sun, Oct 6

aheejin updated the summary of D68553: [WebAssembly] Add memory intrinsics handling to mayThrow().
Sun, Oct 6, 9:40 AM · Restricted Project
aheejin added a parent revision for D68552: [WebAssembly] Fix unwind mismatch stat computation: D68553: [WebAssembly] Add memory intrinsics handling to mayThrow().
Sun, Oct 6, 7:36 AM · Restricted Project
aheejin updated the diff for D68552: [WebAssembly] Fix unwind mismatch stat computation.

Rebase onto D68553

Sun, Oct 6, 7:36 AM · Restricted Project
aheejin added a child revision for D68553: [WebAssembly] Add memory intrinsics handling to mayThrow(): D68552: [WebAssembly] Fix unwind mismatch stat computation.
Sun, Oct 6, 7:36 AM · Restricted Project
aheejin created D68553: [WebAssembly] Add memory intrinsics handling to mayThrow().
Sun, Oct 6, 7:19 AM · Restricted Project
aheejin created D68552: [WebAssembly] Fix unwind mismatch stat computation.
Sun, Oct 6, 7:19 AM · Restricted Project

Tue, Oct 1

aheejin accepted D68254: [WebAssembly] Error when using wasm64 for ISel.
Tue, Oct 1, 12:22 AM · Restricted Project

Mon, Sep 30

aheejin committed rGe2bcab61009a: [WebAssembly] Make sure EH pads are preferred in sorting (authored by aheejin).
[WebAssembly] Make sure EH pads are preferred in sorting
Mon, Sep 30, 11:53 PM
aheejin committed rL373302: [WebAssembly] Make sure EH pads are preferred in sorting.
[WebAssembly] Make sure EH pads are preferred in sorting
Mon, Sep 30, 11:52 PM
aheejin closed D68229: [WebAssembly] Make sure EH pads are preferred in sorting.
Mon, Sep 30, 11:52 PM · Restricted Project
aheejin committed rG61d5c76a1813: [WebAssembly] Unstackify regs after fixing unwinding mismatches (authored by aheejin).
[WebAssembly] Unstackify regs after fixing unwinding mismatches
Mon, Sep 30, 11:21 PM
aheejin committed rL373301: [WebAssembly] Unstackify regs after fixing unwinding mismatches.
[WebAssembly] Unstackify regs after fixing unwinding mismatches
Mon, Sep 30, 11:20 PM
aheejin closed D68218: [WebAssembly] Unstackify regs after fixing unwinding mismatches.
Mon, Sep 30, 11:20 PM · Restricted Project
aheejin updated the diff for D68218: [WebAssembly] Unstackify regs after fixing unwinding mismatches.
  • Address comments
Mon, Sep 30, 11:18 PM · Restricted Project
aheejin added a parent revision for D68229: [WebAssembly] Make sure EH pads are preferred in sorting: D68218: [WebAssembly] Unstackify regs after fixing unwinding mismatches.
Mon, Sep 30, 9:07 AM · Restricted Project
aheejin added a child revision for D68218: [WebAssembly] Unstackify regs after fixing unwinding mismatches: D68229: [WebAssembly] Make sure EH pads are preferred in sorting.
Mon, Sep 30, 9:07 AM · Restricted Project
aheejin created D68229: [WebAssembly] Make sure EH pads are preferred in sorting.
Mon, Sep 30, 9:07 AM · Restricted Project
aheejin created D68218: [WebAssembly] Unstackify regs after fixing unwinding mismatches.
Mon, Sep 30, 6:41 AM · Restricted Project

Thu, Sep 26

aheejin accepted D68113: [WebAssembly] v128.andnot.
Thu, Sep 26, 6:43 PM · Restricted Project
aheejin accepted D68058: [WebAssembly] SIMD Load and extend operations.
Thu, Sep 26, 6:20 PM · Restricted Project
aheejin added inline comments to D68058: [WebAssembly] SIMD Load and extend operations.
Thu, Sep 26, 6:11 AM · Restricted Project

Mon, Sep 23

aheejin accepted D67930: [WebAssembly][NFC] Remove duplicate SIMD instructions and predicates.
Mon, Sep 23, 5:09 PM · Restricted Project
aheejin accepted D67784: [WebAssembly] vNxM.load_splat instructions.

Mostly LGTM. By the way this contains diff of D67783 as well.

Mon, Sep 23, 8:31 AM · Restricted Project
aheejin added inline comments to D67783: [WebAssembly] Remove unused memory instructions and patterns.
Mon, Sep 23, 7:10 AM · Restricted Project

Sep 21 2019

aheejin added inline comments to D67783: [WebAssembly] Remove unused memory instructions and patterns.
Sep 21 2019, 7:53 AM · Restricted Project
aheejin accepted D67783: [WebAssembly] Remove unused memory instructions and patterns.

LGTM as long as they are not used, but I'd like to check with @sunfish to be sure as well.

Sep 21 2019, 12:27 AM · Restricted Project

Sep 18 2019

aheejin added a comment to D67739: [WebAssembly] Let users know that wasm64 does not exist.

+1 on erroring out on the backend side. And how about "wasm64 is not supported"? wasm64... is still a registered target in the frontend, so...

Sep 18 2019, 11:04 PM · Restricted Project

Sep 16 2019

aheejin accepted D67639: [WebAssembly] Restore defaults for stores per memop.

What are the default values for those if we unset them?

Sep 16 2019, 5:23 PM · Restricted Project

Sep 15 2019

aheejin added inline comments to D67368: [NFCI]Create CommonAttributeInfo Type as base type of *Attr and ParsedAttr..
Sep 15 2019, 1:40 AM · Restricted Project

Sep 12 2019

aheejin accepted D67425: [WebAssembly] Narrowing and widening SIMD ops.

LGTM.

  • Maybe we can lower these to these new instructions later? (I'm not very sure what the difference between versions with and without VECTOR, because the versions without VECTOR seem to be able to take vector arguments as well.)
  • Will this simplify the complicated lowering of SIGN_EXTEND_INREG?
Sep 12 2019, 6:16 PM · Restricted Project, Restricted Project

Sep 11 2019

aheejin committed rG75f65fe8d316: [WebAssembly] Delete duplicate REQUIRES line (authored by aheejin).
[WebAssembly] Delete duplicate REQUIRES line
Sep 11 2019, 11:57 PM
aheejin committed rL371712: [WebAssembly] Delete duplicate REQUIRES line.
[WebAssembly] Delete duplicate REQUIRES line
Sep 11 2019, 11:57 PM
aheejin committed rGc4712fda7c6c: [WebAssembly] Make wasm-eh.cpp requires WebAssembly (authored by aheejin).
[WebAssembly] Make wasm-eh.cpp requires WebAssembly
Sep 11 2019, 11:52 PM
aheejin committed rL371711: [WebAssembly] Make wasm-eh.cpp requires WebAssembly.
[WebAssembly] Make wasm-eh.cpp requires WebAssembly
Sep 11 2019, 11:52 PM
aheejin committed rGe8b2b8868d21: [WebAssembly] Add -fwasm-exceptions for wasm EH (authored by aheejin).
[WebAssembly] Add -fwasm-exceptions for wasm EH
Sep 11 2019, 9:02 PM
aheejin committed rL371708: [WebAssembly] Add -fwasm-exceptions for wasm EH.
[WebAssembly] Add -fwasm-exceptions for wasm EH
Sep 11 2019, 9:01 PM
aheejin closed D67208: [WebAssembly] Add -fwasm-exceptions for wasm EH.
Sep 11 2019, 9:01 PM · Restricted Project, Restricted Project
aheejin committed rG4f0245fd98bc: [clang-tidy] Fix build with -DBUILD_SHARED_LIB=ON (authored by aheejin).
[clang-tidy] Fix build with -DBUILD_SHARED_LIB=ON
Sep 11 2019, 8:11 PM
aheejin committed rL371706: [clang-tidy] Fix build with -DBUILD_SHARED_LIB=ON.
[clang-tidy] Fix build with -DBUILD_SHARED_LIB=ON
Sep 11 2019, 8:11 PM
aheejin closed D67473: [clang-tidy] Fix build with -DBUILD_SHARED_LIB=ON.
Sep 11 2019, 8:11 PM · Restricted Project, Restricted Project
aheejin added a comment to D67473: [clang-tidy] Fix build with -DBUILD_SHARED_LIB=ON.

I think that's it.

Sep 11 2019, 8:11 PM · Restricted Project, Restricted Project
aheejin created D67473: [clang-tidy] Fix build with -DBUILD_SHARED_LIB=ON.
Sep 11 2019, 4:56 PM · Restricted Project, Restricted Project

Sep 10 2019

aheejin added a comment to D67425: [WebAssembly] Narrowing and widening SIMD ops.

Can you give the link for the spec of these new instructions?

Sep 10 2019, 5:54 PM · Restricted Project, Restricted Project

Sep 6 2019

aheejin updated the diff for D67208: [WebAssembly] Add -fwasm-exceptions for wasm EH.
  • Error out when -fwasm-exceptions is specified with -mllvm -enable-emscripten-cxx-exceptions
Sep 6 2019, 4:50 PM · Restricted Project, Restricted Project
aheejin added a comment to D67208: [WebAssembly] Add -fwasm-exceptions for wasm EH.

What happens when users have exceptions in their code but don't pass Do they get the old SJLJ emulated exception handling?

Sep 6 2019, 4:12 PM · Restricted Project, Restricted Project

Sep 5 2019

aheejin added inline comments to D67250: [WebAssembly] Add fence in __wasm_init_memory.
Sep 5 2019, 7:45 PM · Restricted Project
aheejin added a comment to D67208: [WebAssembly] Add -fwasm-exceptions for wasm EH.
`-pthreads`  enabling `-matomics` and `-mbulk-memory`make some sense because each of those low level flags might make sense on its own.   But if `-fwasm-exceptions` only going to enable `-mexception-handling` then I'm not sure I see the point in adding it.  Or is there something else it will enable?
Sep 5 2019, 7:36 PM · Restricted Project, Restricted Project
aheejin added a comment to D67208: [WebAssembly] Add -fwasm-exceptions for wasm EH.
Sep 5 2019, 6:17 PM · Restricted Project, Restricted Project
aheejin added a comment to D67208: [WebAssembly] Add -fwasm-exceptions for wasm EH.

If this is to be like -fdwarf-exceptions I assume the idea is that eventually it will default on when targeting wasm, and become one of those flags that most users never set. In that case it really just selects the default exception model, and thus it should be compatible with -fno-exceptions just as -fdwarf-exceptions is.\

Sep 5 2019, 4:16 PM · Restricted Project, Restricted Project
aheejin added a comment to D67208: [WebAssembly] Add -fwasm-exceptions for wasm EH.

But why not make -mexception-handling be the option that enabled everything? I mean -mexception-handling is a flag we have today.. if you add -fwasm-exceptions what does -mexception-handling meaning? Is it still useful?

Sep 5 2019, 4:13 PM · Restricted Project, Restricted Project
aheejin added a comment to D67208: [WebAssembly] Add -fwasm-exceptions for wasm EH.

@tlively @sbc100 What I wanted was to make -fwasm-exceptions as something like -pthreads, which serves as the only flag that needs to be turned on and turns on all other necessary flags, such as +matomics, +mbulk-memory, and --shared-memory. I think all those architectural flags starting with -m can be someday all turned on, when all our existing proposals become the new MVP, and I still want to give users an option to opt out of threads of exception handling at that point. And it also makes sense to have a LangOption of WasmExceptions given that there are LangOptions for all other exception models. I think this covers most of the questions above.

Sep 5 2019, 3:28 PM · Restricted Project, Restricted Project

Sep 4 2019

aheejin updated the diff for D67208: [WebAssembly] Add -fwasm-exceptions for wasm EH.
  • Remove a blank line
Sep 4 2019, 9:59 PM · Restricted Project, Restricted Project
aheejin created D67208: [WebAssembly] Add -fwasm-exceptions for wasm EH.
Sep 4 2019, 9:53 PM · Restricted Project, Restricted Project

Sep 3 2019

aheejin accepted D65783: [WebAssembly] Initialize memory in start function.

LGTM % nits if tests pass.

Sep 3 2019, 10:22 PM · Restricted Project
aheejin committed rL370837: Request commit access for aheejin.
Request commit access for aheejin
Sep 3 2019, 8:48 PM
aheejin committed rG49e7ee4dd58f: [WebAssembly] Compare functions by names in Emscripten Sjlj (authored by aheejin).
[WebAssembly] Compare functions by names in Emscripten Sjlj
Sep 3 2019, 3:26 PM
aheejin committed rL370828: [WebAssembly] Compare functions by names in Emscripten Sjlj.
[WebAssembly] Compare functions by names in Emscripten Sjlj
Sep 3 2019, 3:26 PM
aheejin closed D67129: [WebAssembly] Compare functions by names in Emscripten Sjlj.
Sep 3 2019, 3:25 PM · Restricted Project
aheejin updated the diff for D67129: [WebAssembly] Compare functions by names in Emscripten Sjlj.
  • Renamed to lower-em-sjlj-alias.ll
Sep 3 2019, 3:22 PM · Restricted Project
aheejin updated the summary of D67129: [WebAssembly] Compare functions by names in Emscripten Sjlj.
Sep 3 2019, 3:11 PM · Restricted Project
aheejin updated the summary of D67129: [WebAssembly] Compare functions by names in Emscripten Sjlj.
Sep 3 2019, 3:11 PM · Restricted Project
aheejin updated the summary of D67129: [WebAssembly] Compare functions by names in Emscripten Sjlj.
Sep 3 2019, 3:11 PM · Restricted Project
aheejin created D67129: [WebAssembly] Compare functions by names in Emscripten Sjlj.
Sep 3 2019, 3:05 PM · Restricted Project

Aug 30 2019

aheejin added a comment to D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic.

Yeah I think that can be a more generalized solution too.

Aug 30 2019, 5:38 PM · Restricted Project, Restricted Project
aheejin added a comment to D67020: [WebAssembly] Add SIMD QFMA/QFMS.

Should we handle these too?

Aug 30 2019, 5:00 PM · Restricted Project, Restricted Project
aheejin accepted D67020: [WebAssembly] Add SIMD QFMA/QFMS.
Aug 30 2019, 4:51 PM · Restricted Project, Restricted Project
aheejin added a comment to D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic.

The code that does the undesirable optimization is around llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:18776.

Aug 30 2019, 4:19 PM · Restricted Project, Restricted Project
aheejin added a comment to D67020: [WebAssembly] Add SIMD QFMA/QFMS.

Could you point to the spec of these instructions?

Aug 30 2019, 2:31 PM · Restricted Project, Restricted Project