Page MenuHomePhabricator

aheejin (Heejin Ahn)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 29 2016, 12:33 AM (159 w, 4 d)

Recent Activity

Wed, Aug 14

aheejin updated subscribers of D66218: [WebAssembly] Lower SIMD shifts since they are fixed in V8.

@tlively fixed it in D66166 :)

Wed, Aug 14, 8:18 AM · Restricted Project
aheejin added a comment to D65783: [WebAssembly] Initialize memory in start function.

I don't have the full context/history of this feature, but it mostly looks LGTM to me.

Wed, Aug 14, 8:04 AM · Restricted Project
aheejin accepted D66166: [WebAssembly] Stop unrolling SIMD shifts since they are fixed in V8.
Wed, Aug 14, 1:03 AM · Restricted Project

Tue, Aug 13

aheejin committed rG64517a6419ca: Use Register over unsigned in LateEHPrepare (NFC) (authored by aheejin).
Use Register over unsigned in LateEHPrepare (NFC)
Tue, Aug 13, 10:36 AM
aheejin committed rL368727: Use Register over unsigned in LateEHPrepare (NFC).
Use Register over unsigned in LateEHPrepare (NFC)
Tue, Aug 13, 10:35 AM
aheejin closed D66064: Use Register over unsigned in LateEHPrepare (NFC).
Tue, Aug 13, 10:35 AM · Restricted Project

Sun, Aug 11

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

Thank you! We also have been floating some ideas about supporting reference types as types in another address space, but haven't actually started implementing it AFAIK. I like the general direction. Let's wait for other people's comments too.

Sun, Aug 11, 6:47 AM · Restricted Project, Restricted Project
aheejin added a comment to D65962: Apply llvm-prefer-register-over-unsigned from clang-tidy to LLVM.

WebAssembly change LGTM.

Sun, Aug 11, 1:35 AM · Restricted Project
aheejin created D66064: Use Register over unsigned in LateEHPrepare (NFC).
Sun, Aug 11, 1:32 AM · Restricted Project

Sat, Aug 10

aheejin committed rG831efe0e0f0c: Fix __clang_call_termiante's argument for foreign exceptions (authored by aheejin).
Fix __clang_call_termiante's argument for foreign exceptions
Sat, Aug 10, 11:25 PM
aheejin committed rL368527: Fix __clang_call_termiante's argument for foreign exceptions.
Fix __clang_call_termiante's argument for foreign exceptions
Sat, Aug 10, 11:23 PM
aheejin closed D65475: Fix __clang_call_termiante's argument for foreign exceptions.
Sat, Aug 10, 11:23 PM · Restricted Project

Mon, Aug 5

aheejin added a comment to D65463: [WebAssembly] Fix conflict between ret legalization and sjlj.

Oh I see. Thanks!

Mon, Aug 5, 4:39 PM · Restricted Project
aheejin added a comment to D65720: [WebAssembly] Regenerate SIMD Arithmetic tests.

I have mixed feelings about this. One one hand I understand that this file is huge and cross-cutting changes could cause a lot of manual updating work, but on the other hand each individual test was very readable and succinct. The auto-generated version would certainly be less work to maintain, but its enormous amount of irrelevant information and repetition is unfortunate. @aheejin, what do you think about this?

Mon, Aug 5, 2:32 PM · Restricted Project
aheejin accepted D65463: [WebAssembly] Fix conflict between ret legalization and sjlj.

LGTM with nits (+ -wasm-keep-registers thing as @tlively said). Thank you!

Mon, Aug 5, 2:14 PM · Restricted Project

Sun, Aug 4

aheejin updated subscribers of rG295f99265b83: Regenerate test for an upcoming patch..

CC @tlively

Sun, Aug 4, 8:04 PM

Tue, Jul 30

aheejin added a comment to D65470: [WebAssembly] Fix allocsize attribute in sjlj lowering.

Thank you for fixing this too!

Tue, Jul 30, 10:39 PM · Restricted Project
aheejin removed a child revision for D65463: [WebAssembly] Fix conflict between ret legalization and sjlj: D65470: [WebAssembly] Fix allocsize attribute in sjlj lowering.
Tue, Jul 30, 10:35 PM · Restricted Project
aheejin removed a parent revision for D65470: [WebAssembly] Fix allocsize attribute in sjlj lowering: D65463: [WebAssembly] Fix conflict between ret legalization and sjlj.
Tue, Jul 30, 10:35 PM · Restricted Project
aheejin added a parent revision for D65470: [WebAssembly] Fix allocsize attribute in sjlj lowering: D65463: [WebAssembly] Fix conflict between ret legalization and sjlj.
Tue, Jul 30, 10:33 PM · Restricted Project
aheejin added a child revision for D65463: [WebAssembly] Fix conflict between ret legalization and sjlj: D65470: [WebAssembly] Fix allocsize attribute in sjlj lowering.
Tue, Jul 30, 10:33 PM · Restricted Project
aheejin accepted D65470: [WebAssembly] Fix allocsize attribute in sjlj lowering.
Tue, Jul 30, 10:33 PM · Restricted Project
aheejin updated subscribers of D65463: [WebAssembly] Fix conflict between ret legalization and sjlj.

Thank you for fixing this! This is a long-known bug we haven't fixed so far, because wasm C++ frontend lowers struct returns into sret arguments in the frontend, so we don't usually encounter this bug. Just out of curiosity, how did you discover this bug? (The reporter of this bug found it while using the Rust frontend, I heard)

Tue, Jul 30, 10:27 PM · Restricted Project
aheejin created D65475: Fix __clang_call_termiante's argument for foreign exceptions.
Tue, Jul 30, 1:12 PM · Restricted Project

Mon, Jul 29

aheejin accepted D65246: [WebAssembly] Do not emit tail calls with return type mismatch.

LGTM!

Mon, Jul 29, 6:17 PM · Restricted Project
aheejin added inline comments to D65246: [WebAssembly] Do not emit tail calls with return type mismatch.
Mon, Jul 29, 3:14 PM · Restricted Project

Wed, Jul 24

aheejin added inline comments to D65246: [WebAssembly] Do not emit tail calls with return type mismatch.
Wed, Jul 24, 7:14 PM · Restricted Project

Jul 17 2019

aheejin accepted D64900: [WebAssembly] Implement __builtin_wasm_tls_base intrinsic.

What does this return when __wasm_init_tls has not been called?

Jul 17 2019, 6:19 PM · Restricted Project, Restricted Project

Jul 16 2019

aheejin accepted D64776: [WebAssembly] Compile all TLS on Emscripten as local-exec.
Jul 16 2019, 3:20 PM · Restricted Project
aheejin added inline comments to D64776: [WebAssembly] Compile all TLS on Emscripten as local-exec.
Jul 16 2019, 1:56 PM · Restricted Project

Jul 15 2019

aheejin added a comment to D64758: [WebAssembly] Assembler/InstPrinter: support call_indirect type index..

Why should type_index symbols be unnamed, i.e., why does WasmObjectWriter try to ensure that it is unnamed? Can we possibly remove that constraints?

Jul 15 2019, 6:20 PM · Restricted Project
aheejin added a comment to D64776: [WebAssembly] Compile all TLS on Emscripten as local-exec.
Jul 15 2019, 6:04 PM · Restricted Project
aheejin added a comment to D64537: [WebAssembly] Implement thread-local storage (local-exec model).

Where should we call __wasm_init_tls, in case within a library?

Jul 15 2019, 6:02 PM · Restricted Project, Restricted Project
aheejin added a comment to D64776: [WebAssembly] Compile all TLS on Emscripten as local-exec.
  • Not sure what this means. The CL description says it tries to compile things into local-exec, but what this CL does look like checking if a global var is local-exec and if not report an error.
  • What is supposed to happen when the OS is not emscripten? If we don't support TLS in non-emscripten OSes regardless of its mode (local-exec or not), should we print an error in that case too?
Jul 15 2019, 4:28 PM · Restricted Project
aheejin committed rG1cf692266018: [WebAssembly] Add missing utility methods for exnref type (authored by aheejin).
[WebAssembly] Add missing utility methods for exnref type
Jul 15 2019, 4:06 PM
aheejin committed rL366149: [WebAssembly] Add missing utility methods for exnref type.
[WebAssembly] Add missing utility methods for exnref type
Jul 15 2019, 4:06 PM
aheejin closed D64705: [WebAssembly] Add missing utility methods for exnref type.
Jul 15 2019, 4:06 PM · Restricted Project
aheejin added inline comments to D64705: [WebAssembly] Add missing utility methods for exnref type.
Jul 15 2019, 3:57 PM · Restricted Project
aheejin committed rG9f96a58cccb6: [WebAssembly] Rename except_ref type to exnref (authored by aheejin).
[WebAssembly] Rename except_ref type to exnref
Jul 15 2019, 3:50 PM
aheejin committed rL366145: [WebAssembly] Rename except_ref type to exnref.
[WebAssembly] Rename except_ref type to exnref
Jul 15 2019, 3:50 PM
aheejin closed D64703: [WebAssembly] Rename except_ref type to exnref.
Jul 15 2019, 3:49 PM · Restricted Project
aheejin committed rG474009eaea76: [WebAssembly] Simplify regcopy.mir (authored by aheejin).
[WebAssembly] Simplify regcopy.mir
Jul 15 2019, 3:24 PM
aheejin committed rL366140: [WebAssembly] Simplify regcopy.mir.
[WebAssembly] Simplify regcopy.mir
Jul 15 2019, 3:22 PM
aheejin closed D64704: [WebAssembly] Simplify regcopy.mir.
Jul 15 2019, 3:21 PM · Restricted Project
aheejin retitled D64705: [WebAssembly] Add missing utility methods for exnref type from [WASM] Add missing utility methods for exnref type to [WebAssembly] Add missing utility methods for exnref type.
Jul 15 2019, 2:58 PM · Restricted Project
aheejin accepted D64602: [WebAssembly] Assembler: recognize .init_array as data section..
Jul 15 2019, 11:29 AM · Restricted Project

Jul 14 2019

aheejin added parent revisions for D64705: [WebAssembly] Add missing utility methods for exnref type: D64704: [WebAssembly] Simplify regcopy.mir, D64703: [WebAssembly] Rename except_ref type to exnref.
Jul 14 2019, 4:34 AM · Restricted Project
aheejin added a child revision for D64704: [WebAssembly] Simplify regcopy.mir: D64705: [WebAssembly] Add missing utility methods for exnref type.
Jul 14 2019, 4:34 AM · Restricted Project
aheejin added a child revision for D64703: [WebAssembly] Rename except_ref type to exnref: D64705: [WebAssembly] Add missing utility methods for exnref type.
Jul 14 2019, 4:34 AM · Restricted Project
aheejin created D64705: [WebAssembly] Add missing utility methods for exnref type.
Jul 14 2019, 4:33 AM · Restricted Project
aheejin updated the summary of D64704: [WebAssembly] Simplify regcopy.mir.
Jul 14 2019, 4:05 AM · Restricted Project
aheejin updated the diff for D64704: [WebAssembly] Simplify regcopy.mir.

regcopy.mir -> reg-copy.mir

Jul 14 2019, 4:05 AM · Restricted Project
aheejin updated the diff for D64704: [WebAssembly] Simplify regcopy.mir.

Cancel renaming

Jul 14 2019, 4:03 AM · Restricted Project
aheejin updated the summary of D64704: [WebAssembly] Simplify regcopy.mir.
Jul 14 2019, 4:03 AM · Restricted Project
aheejin updated the summary of D64704: [WebAssembly] Simplify regcopy.mir.
Jul 14 2019, 3:33 AM · Restricted Project
aheejin updated the diff for D64704: [WebAssembly] Simplify regcopy.mir.

reg_instr.mir -> reg-instr.mir

Jul 14 2019, 3:33 AM · Restricted Project
aheejin created D64704: [WebAssembly] Simplify regcopy.mir.
Jul 14 2019, 3:17 AM · Restricted Project
aheejin created D64703: [WebAssembly] Rename except_ref type to exnref.
Jul 14 2019, 2:34 AM · Restricted Project

Jul 12 2019

aheejin added inline comments to D64537: [WebAssembly] Implement thread-local storage (local-exec model).
Jul 12 2019, 6:55 PM · Restricted Project, Restricted Project
aheejin added inline comments to D64537: [WebAssembly] Implement thread-local storage (local-exec model).
Jul 12 2019, 5:54 PM · Restricted Project, Restricted Project
aheejin added a comment to D64643: [WebAssembly] refactored utilities to not depend on MachineInstr (NFC).

LGTM

Jul 12 2019, 3:22 PM · Restricted Project
aheejin accepted D64643: [WebAssembly] refactored utilities to not depend on MachineInstr (NFC).

LGTM. How about adding overriden functions that takes MachineInstr argument that calls these functions? And if this is pure refactoring adding (NFC) to the title might be better.

Jul 12 2019, 11:47 AM · Restricted Project

Jul 11 2019

aheejin accepted D64586: [WebAssembly] Make pthread imply bulk-memory, mutable-globals.
Jul 11 2019, 8:13 PM · Restricted Project, Restricted Project
aheejin accepted D64612: [WebAssembly] i32.const operands should be signed.
Jul 11 2019, 7:47 PM · Restricted Project
aheejin added a comment to D64537: [WebAssembly] Implement thread-local storage (local-exec model).

Nice!
Then where should we call __wasm_init_tls, in case within a library?

Jul 11 2019, 8:24 AM · Restricted Project, Restricted Project
aheejin added a comment to D63503: cmake: Add CLANG_LINK_CLANG_DYLIB option.

CLANG_LINK_CLANG_DYLIB=ON does not seem to work with LLVM_INSTALL_TOOLCHAIN_ONLY=ON. I filed a bug report: https://bugs.llvm.org/show_bug.cgi?id=42575

Jul 11 2019, 1:30 AM · Restricted Project, Restricted Project
aheejin added a comment to D61909: Add Clang shared library with C++ exports.

CLANG_LINK_CLANG_DYLIB=ON does not seem to work with LLVM_INSTALL_TOOLCHAIN_ONLY=ON. I filed a bug report: https://bugs.llvm.org/show_bug.cgi?id=42575

Jul 11 2019, 1:29 AM · Restricted Project

Jul 10 2019

aheejin committed rG54c136bbdf9a: [WebAssembly] Print error message for llvm.clear_cache intrinsic (authored by aheejin).
[WebAssembly] Print error message for llvm.clear_cache intrinsic
Jul 10 2019, 10:58 PM
aheejin committed rL365731: [WebAssembly] Print error message for llvm.clear_cache intrinsic.
[WebAssembly] Print error message for llvm.clear_cache intrinsic
Jul 10 2019, 10:55 PM
aheejin closed D64322: [WebAssembly] Print error message for llvm.clear_cache intrinsic.
Jul 10 2019, 10:55 PM · Restricted Project
aheejin retitled D64322: [WebAssembly] Print error message for llvm.clear_cache intrinsic from [WebAssembly] Add support for llvm.clear_cache intrinsic to [WebAssembly] Print error message for llvm.clear_cache intrinsic.
Jul 10 2019, 10:50 PM · Restricted Project

Jul 9 2019

aheejin updated the diff for D64322: [WebAssembly] Print error message for llvm.clear_cache intrinsic.
  • Print an error message instead
Jul 9 2019, 12:57 PM · Restricted Project
aheejin added a comment to D64322: [WebAssembly] Print error message for llvm.clear_cache intrinsic.

I thought about it, and maybe it would be safer to be explicit that we don't support clearing caches after all. I don't have strong opinions though.

Jul 9 2019, 12:55 PM · Restricted Project
aheejin added a comment to D64322: [WebAssembly] Print error message for llvm.clear_cache intrinsic.

Another view would be that we accept that this probably doesn't get used in code that would be useful in wasm, but maybe it's in a file that has other useful code, so this would basically be a convenience feature that allows users to have fewer ifdefs in their files (even with the assumption that they aren't going to be calling this code). Someone did, after all, actually run into this problem. Speaking of, maybe we should ask them what their use case is, why they even want to compile this code?

Jul 9 2019, 12:47 PM · Restricted Project

Jul 8 2019

aheejin committed rG947bfe73fc2f: [WebAssembly] Make sret parameter work with AddMissingPrototypes (authored by aheejin).
[WebAssembly] Make sret parameter work with AddMissingPrototypes
Jul 8 2019, 7:15 PM
aheejin committed rL365426: [WebAssembly] Make sret parameter work with AddMissingPrototypes.
[WebAssembly] Make sret parameter work with AddMissingPrototypes
Jul 8 2019, 7:10 PM
aheejin closed D64318: [WebAssembly] Make sret parameter work with AddMissingPrototypes.
Jul 8 2019, 7:10 PM · Restricted Project
aheejin committed rG8f9a4b2af050: [WebAssembly] Fix a typo in a test file name (authored by aheejin).
[WebAssembly] Fix a typo in a test file name
Jul 8 2019, 6:23 PM
aheejin committed rL365418: [WebAssembly] Fix a typo in a test file name.
[WebAssembly] Fix a typo in a test file name
Jul 8 2019, 6:22 PM
aheejin closed D64324: [WebAssembly] Fix a typo in a test file name.
Jul 8 2019, 6:22 PM · Restricted Project
aheejin added a comment to D64322: [WebAssembly] Print error message for llvm.clear_cache intrinsic.

Any code that thinks it needs to "clear the cache" is very likely doing something which won't actually work on wasm. Would it be reasonable to issue a report_fatal_error here?

Jul 8 2019, 6:17 PM · Restricted Project
aheejin added a comment to D64322: [WebAssembly] Print error message for llvm.clear_cache intrinsic.

Yes it is what x86 does too. And it looks like they do it on purpose. From the llvm.clear_cache intrinsic semantics description:
"On platforms with coherent instruction and data caches (e.g. x86), this intrinsic is a nop. On platforms with non-coherent instruction and data cache (e.g. ARM, MIPS), the intrinsic is lowered either to appropriate instructions or a system call, if cache flushing requires special privileges. The default behavior is to emit a call to __clear_cache from the run time library."

Jul 8 2019, 6:08 PM · Restricted Project
aheejin updated the diff for D64318: [WebAssembly] Make sret parameter work with AddMissingPrototypes.
  • sret argument should be the first one
Jul 8 2019, 4:58 AM · Restricted Project
aheejin added inline comments to D64318: [WebAssembly] Make sret parameter work with AddMissingPrototypes.
Jul 8 2019, 4:58 AM · Restricted Project
aheejin created D64324: [WebAssembly] Fix a typo in a test file name.
Jul 8 2019, 4:08 AM · Restricted Project
aheejin retitled D64322: [WebAssembly] Print error message for llvm.clear_cache intrinsic from Add support for llvm.clear_cache intrinsic to [WebAssembly] Add support for llvm.clear_cache intrinsic.
Jul 8 2019, 4:07 AM · Restricted Project
aheejin retitled D64318: [WebAssembly] Make sret parameter work with AddMissingPrototypes from Make sret parameter work with AddMissingPrototypes to [WebAssembly] Make sret parameter work with AddMissingPrototypes.
Jul 8 2019, 4:06 AM · Restricted Project
aheejin updated the summary of D64322: [WebAssembly] Print error message for llvm.clear_cache intrinsic.
Jul 8 2019, 4:01 AM · Restricted Project
aheejin created D64322: [WebAssembly] Print error message for llvm.clear_cache intrinsic.
Jul 8 2019, 4:01 AM · Restricted Project
aheejin added inline comments to D64318: [WebAssembly] Make sret parameter work with AddMissingPrototypes.
Jul 8 2019, 3:46 AM · Restricted Project
aheejin updated the diff for D64318: [WebAssembly] Make sret parameter work with AddMissingPrototypes.
  • Use llvm::any_of
Jul 8 2019, 3:44 AM · Restricted Project
aheejin updated the summary of D64318: [WebAssembly] Make sret parameter work with AddMissingPrototypes.
Jul 8 2019, 3:21 AM · Restricted Project
aheejin updated the diff for D64318: [WebAssembly] Make sret parameter work with AddMissingPrototypes.
  • Comment fix
Jul 8 2019, 3:14 AM · Restricted Project
aheejin updated the summary of D64318: [WebAssembly] Make sret parameter work with AddMissingPrototypes.
Jul 8 2019, 3:14 AM · Restricted Project
aheejin created D64318: [WebAssembly] Make sret parameter work with AddMissingPrototypes.
Jul 8 2019, 3:14 AM · Restricted Project

Jul 4 2019

aheejin added a comment to D64186: [NewPM] Port MachineDominatorTree analysis to the new PM..

Could you clang-format? There seem to be lines that exceed 80 cols.

Jul 4 2019, 7:44 PM · Restricted Project

Jul 3 2019

aheejin accepted D64161: [WebAssembly] Enable IndirectBrExpandPass.

This is great!

Jul 3 2019, 3:28 PM · Restricted Project
aheejin added a comment to D64117: [WebAssembly][NFC] simplify SjLj inline assembly test.

Hmm right, every other function has hidden... while you're on a roll, can you remove all hiddens here? :) Thanks!

Jul 3 2019, 3:25 PM · Restricted Project

Jul 2 2019

aheejin added inline comments to D64039: [WebAssembly] tablegen: distinguish float/int immediate operands..
Jul 2 2019, 9:22 PM · Restricted Project
aheejin updated subscribers of rGed13fef47741: [SelectionDAG] Do minnum->minimum at legalization time instead of building time.

@tlively Just wanted to check if this is OK for us.

Jul 2 2019, 8:46 PM