Page MenuHomePhabricator

aheejin (Heejin Ahn)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 29 2016, 12:33 AM (134 w, 1 d)

Recent Activity

Yesterday

aheejin updated the summary of D58562: [WebAssembly] Improve readability of EH tests.
Fri, Feb 22, 7:29 PM · Restricted Project
aheejin updated the diff for D58562: [WebAssembly] Improve readability of EH tests.
  • More work
Fri, Feb 22, 7:22 PM · Restricted Project
aheejin updated the diff for D58562: [WebAssembly] Improve readability of EH tests.

rebase

Fri, Feb 22, 4:58 PM · Restricted Project
aheejin updated the diff for D56091: [WebAssembly] Don't add IMPLICIT_DEFs in PrepareForLiveIntervals.

rebase

Fri, Feb 22, 4:51 PM · Restricted Project
aheejin updated the summary of D58562: [WebAssembly] Improve readability of EH tests.
Fri, Feb 22, 4:37 PM · Restricted Project
aheejin updated the summary of D58562: [WebAssembly] Improve readability of EH tests.
Fri, Feb 22, 4:35 PM · Restricted Project
aheejin added a parent revision for D58486: [WebAssembly] Delete ThrowUnwindDest map from WasmEHFuncInfo: D58562: [WebAssembly] Improve readability of EH tests.
Fri, Feb 22, 4:34 PM · Restricted Project
aheejin planned changes to D58486: [WebAssembly] Delete ThrowUnwindDest map from WasmEHFuncInfo.

Oh turned out this (of course) changes an existing test because successor relationship was modified, which was also a pre-existing bug in the test. :( Will update the test soon.

Fri, Feb 22, 4:34 PM · Restricted Project
aheejin added a child revision for D58562: [WebAssembly] Improve readability of EH tests: D58486: [WebAssembly] Delete ThrowUnwindDest map from WasmEHFuncInfo.
Fri, Feb 22, 4:34 PM · Restricted Project
aheejin created D58562: [WebAssembly] Improve readability of EH tests.
Fri, Feb 22, 4:32 PM · Restricted Project
aheejin added a comment to D58486: [WebAssembly] Delete ThrowUnwindDest map from WasmEHFuncInfo.

Oh and failure to update the newly created BB successor relationship by rethrow is a bug in itself, regardless of whether we use ThrowUnwindDestMap or not.

Fri, Feb 22, 1:56 PM · Restricted Project
aheejin added a comment to D58486: [WebAssembly] Delete ThrowUnwindDest map from WasmEHFuncInfo.

Kind of. I found it was not updated properly in LateEHPrepare so I created D58474, and abandoned it because it's better not to use ThrowUnwindDestMap anyway, because that kind of BB splitting can occur in other non-wasm passes as well, and now we can use successor info instead because there is at most one EH pad successor for a BB. (This was not the case for the first proposal.)
But we cannot remove EHPadUnwindDest because it is used here to set the new successor for newly added rethrow instruction. And this info is I think safe from transformation from other passes because both of them are EH pads, and all passes I have seen refrain from doing optimization on EH pads. But maybe there will be some passes that does that.. I can't be 100% sure.

Fri, Feb 22, 1:44 PM · Restricted Project
aheejin added a comment to D58486: [WebAssembly] Delete ThrowUnwindDest map from WasmEHFuncInfo.

It's hard to add a test for this because WasmEHFuncInfo is not serialized (All machine-specific function info is not serialized in mir or anywhere at the moment). But I wanted to split this from the other CL that uses this part because 1. that CL is already big 2. this is a bugfix

Fri, Feb 22, 1:14 PM · Restricted Project
aheejin updated the diff for D58486: [WebAssembly] Delete ThrowUnwindDest map from WasmEHFuncInfo.
  • Add successor relationship
Fri, Feb 22, 1:12 PM · Restricted Project
aheejin added a comment to D58549: [WebAssembly] Remove debug statement submitted in rL354657.

Sorry, and thanks for fixing this.

Fri, Feb 22, 11:09 AM · Restricted Project

Thu, Feb 21

aheejin planned changes to D58486: [WebAssembly] Delete ThrowUnwindDest map from WasmEHFuncInfo.
Thu, Feb 21, 11:24 PM · Restricted Project
aheejin committed rG85631d8b509a: [WebAssembly] Remove getBottom function from CFGStackify (NFC) (authored by aheejin).
[WebAssembly] Remove getBottom function from CFGStackify (NFC)
Thu, Feb 21, 11:21 PM
aheejin committed rL354657: [WebAssembly] Remove getBottom function from CFGStackify (NFC).
[WebAssembly] Remove getBottom function from CFGStackify (NFC)
Thu, Feb 21, 11:21 PM
aheejin closed D58319: [WebAssembly] Remove getBottom function from CFGStackify (NFC).
Thu, Feb 21, 11:21 PM · Restricted Project
aheejin created D58519: [WebAssembly] Fix a bug deleting instruction in a ranged for loop.
Thu, Feb 21, 10:11 AM · Restricted Project

Wed, Feb 20

aheejin created D58486: [WebAssembly] Delete ThrowUnwindDest map from WasmEHFuncInfo.
Wed, Feb 20, 6:28 PM · Restricted Project
aheejin accepted D58472: [WebAssembly] Remove unneeded MCSymbolRefExpr variants.

Looks OK to me, we have all the info in MCSymbolWasm after all.

Wed, Feb 20, 5:49 PM · Restricted Project
aheejin abandoned D58474: [WebAssembly] Fix WasmEHInfo updating in LateEHPrepare.

I think we don't need the map of <throwbb, ehpad> after all now each bb can have at most one EH pad successor. This was not true in the first proposal implementation, but is in the new proposal.

Wed, Feb 20, 1:49 PM · Restricted Project
aheejin created D58474: [WebAssembly] Fix WasmEHInfo updating in LateEHPrepare.
Wed, Feb 20, 1:37 PM · Restricted Project

Tue, Feb 19

aheejin committed rG20ea1826f7dc: [WebAssembly] Refactor atomic operation definitions (NFC) (authored by aheejin).
[WebAssembly] Refactor atomic operation definitions (NFC)
Tue, Feb 19, 5:30 PM
aheejin committed rL354421: [WebAssembly] Refactor atomic operation definitions (NFC).
[WebAssembly] Refactor atomic operation definitions (NFC)
Tue, Feb 19, 5:29 PM
aheejin closed D58338: [WebAssembly] Refactor atomic operation definitions (NFC).
Tue, Feb 19, 5:29 PM · Restricted Project
aheejin committed rG3477bd12a099: [WebAssembly] Fix load/store name detection for atomic instructions (authored by aheejin).
[WebAssembly] Fix load/store name detection for atomic instructions
Tue, Feb 19, 5:18 PM
aheejin committed rL354419: [WebAssembly] Fix load/store name detection for atomic instructions.
[WebAssembly] Fix load/store name detection for atomic instructions
Tue, Feb 19, 5:17 PM
aheejin closed D58337: [WebAssembly] Fix load/store name detection for atomic instructions.
Tue, Feb 19, 5:17 PM · Restricted Project
aheejin added inline comments to D58337: [WebAssembly] Fix load/store name detection for atomic instructions.
Tue, Feb 19, 5:17 PM · Restricted Project
aheejin accepted D58414: [WebAssembly] Fixed disassembler not knowing about OPERAND_EVENT.

Thank you!

Tue, Feb 19, 4:46 PM · Restricted Project
aheejin accepted D58312: [WebAssembly] Generalize section ordering constraints.

I think it'd be OK to relax this constraints, but I don't feel too strongly on either side though. Anyway LGTM to me.

Tue, Feb 19, 4:34 PM · Restricted Project

Mon, Feb 18

aheejin added inline comments to D58338: [WebAssembly] Refactor atomic operation definitions (NFC).
Mon, Feb 18, 4:19 PM · Restricted Project
aheejin updated the diff for D58338: [WebAssembly] Refactor atomic operation definitions (NFC).
  • Delete unnecessary classes for notify patterns
Mon, Feb 18, 4:19 PM · Restricted Project

Sun, Feb 17

aheejin added a parent revision for D50277: [WebAssembly] Support for atomic fences: D58338: [WebAssembly] Refactor atomic operation definitions (NFC).
Sun, Feb 17, 5:46 PM · Restricted Project
aheejin updated the diff for D50277: [WebAssembly] Support for atomic fences.
  • Use ATOMIC_NRI for the fence + test fix
Sun, Feb 17, 5:46 PM · Restricted Project
aheejin added a child revision for D58338: [WebAssembly] Refactor atomic operation definitions (NFC): D50277: [WebAssembly] Support for atomic fences.
Sun, Feb 17, 5:46 PM · Restricted Project
aheejin added a parent revision for D58338: [WebAssembly] Refactor atomic operation definitions (NFC): D58337: [WebAssembly] Fix load/store name detection for atomic instructions.
Sun, Feb 17, 5:21 PM · Restricted Project
aheejin added a child revision for D58337: [WebAssembly] Fix load/store name detection for atomic instructions: D58338: [WebAssembly] Refactor atomic operation definitions (NFC).
Sun, Feb 17, 5:21 PM · Restricted Project
aheejin created D58338: [WebAssembly] Refactor atomic operation definitions (NFC).
Sun, Feb 17, 5:21 PM · Restricted Project
aheejin created D58337: [WebAssembly] Fix load/store name detection for atomic instructions.
Sun, Feb 17, 5:21 PM · Restricted Project

Fri, Feb 15

aheejin added inline comments to D57800: [WebAssembly] LTO: Set POSIX thread model when linking with -shared-memoey.
Fri, Feb 15, 11:43 PM · Restricted Project
aheejin requested review of D58319: [WebAssembly] Remove getBottom function from CFGStackify (NFC).
Fri, Feb 15, 10:52 PM · Restricted Project
aheejin removed a reviewer for D58319: [WebAssembly] Remove getBottom function from CFGStackify (NFC): ham999221.
Fri, Feb 15, 10:52 PM · Restricted Project
aheejin created D58319: [WebAssembly] Remove getBottom function from CFGStackify (NFC).
Fri, Feb 15, 8:03 PM · Restricted Project

Tue, Feb 12

aheejin accepted D57791: [WebAssembly] memory.fill.
Tue, Feb 12, 5:54 PM · Restricted Project
aheejin accepted D57736: [WebAssembly] Bulk memory intrinsics and builtins.
Tue, Feb 12, 5:44 PM · Restricted Project, Restricted Project

Mon, Feb 11

aheejin added inline comments to D57791: [WebAssembly] memory.fill.
Mon, Feb 11, 3:37 PM · Restricted Project
aheejin committed rG9d5a089bf544: [WebAssembly] Make thread-related options consistent (authored by aheejin).
[WebAssembly] Make thread-related options consistent
Mon, Feb 11, 2:48 PM
aheejin committed rC353761: [WebAssembly] Make thread-related options consistent.
[WebAssembly] Make thread-related options consistent
Mon, Feb 11, 2:48 PM
aheejin committed rL353761: [WebAssembly] Make thread-related options consistent.
[WebAssembly] Make thread-related options consistent
Mon, Feb 11, 2:48 PM
aheejin closed D57874: [WebAssembly] Make thread-related options consistent.
Mon, Feb 11, 2:47 PM · Restricted Project, Restricted Project
aheejin added a comment to D57874: [WebAssembly] Make thread-related options consistent.

If people have opinions on this final version, please let me know.

Mon, Feb 11, 12:35 PM · Restricted Project, Restricted Project
Herald added a project to D57736: [WebAssembly] Bulk memory intrinsics and builtins: Restricted Project.
Mon, Feb 11, 9:02 AM · Restricted Project, Restricted Project
aheejin added a comment to D57791: [WebAssembly] memory.fill.

Looks OK to me, some nits and questions:

Mon, Feb 11, 9:02 AM · Restricted Project

Sun, Feb 10

aheejin updated the diff for D50277: [WebAssembly] Support for atomic fences.
  • Fix bug: 0 should be i32.const 0 and not an immediate
Sun, Feb 10, 7:45 PM · Restricted Project

Fri, Feb 8

aheejin updated the summary of D57874: [WebAssembly] Make thread-related options consistent.
Fri, Feb 8, 6:29 PM · Restricted Project, Restricted Project
aheejin updated the diff for D57874: [WebAssembly] Make thread-related options consistent.
  • Address comments
Fri, Feb 8, 6:22 PM · Restricted Project, Restricted Project
aheejin added inline comments to D57874: [WebAssembly] Make thread-related options consistent.
Fri, Feb 8, 6:22 PM · Restricted Project, Restricted Project
aheejin added a comment to D57874: [WebAssembly] Make thread-related options consistent.
  • -matomics means -mthread-model posix

The others sound reasonable, though this one seems a little surprising -- a user might have -matomics enabled because they're targeting a VM that has atomics, but still not want to use -mthread-model posix because their code doesn't actually using threads.

Fri, Feb 8, 6:04 PM · Restricted Project, Restricted Project
aheejin updated the diff for D57874: [WebAssembly] Make thread-related options consistent.
  • Replace -matomics with -mthread-model posix in preprocessor test
Fri, Feb 8, 6:04 PM · Restricted Project, Restricted Project
aheejin updated the diff for D57874: [WebAssembly] Make thread-related options consistent.

I had an offline discussion with @tlively and @dschuff and decided to remove -atomics option in the driver. Instead, clang -cc1's -target-feature +atomics will be either of -pthread or -mthread-model posix is given. This is to reduce the total number of options and thus the total number of combinations of options. Sorry for frequent changes. Also addressed comments.

Fri, Feb 8, 5:53 PM · Restricted Project, Restricted Project
aheejin added a comment to D57874: [WebAssembly] Make thread-related options consistent.

Anyway, moved all logic to the driver layer and did this:

  • -matomics means -mthread-model posix
  • -mthread-model posix means -matomics
  • -pthread means both -matomics and -mthread-model posix

If you replace "-matomics" with "-mbulk-memory," I plan to duplicate the logic for items 2 and 3 above, but not 1. For bulk memory even more than atomics, there is a legitimate usecase for enabling it even in single threaded contexts (namely getting to use memory.copy and memory.fill). I wonder if consistency with how bulk memory works is a strong enough argument for dropping item 1 for atomics as well.

Fri, Feb 8, 4:21 PM · Restricted Project, Restricted Project
aheejin added a comment to D57874: [WebAssembly] Make thread-related options consistent.

I only added those test routines in wasm-toolchain.c and not wasm-toolchain.cpp, because they are basically the same.

Fri, Feb 8, 4:11 PM · Restricted Project, Restricted Project
aheejin updated the diff for D57874: [WebAssembly] Make thread-related options consistent.
  • Initialized ThreadModel vairables with ""
Fri, Feb 8, 4:10 PM · Restricted Project, Restricted Project
aheejin added a comment to D57874: [WebAssembly] Make thread-related options consistent.
  • -matomics means -mthread-model posix

The others sound reasonable, though this one seems a little surprising -- a user might have -matomics enabled because they're targeting a VM that has atomics, but still not want to use -mthread-model posix because their code doesn't actually using threads.

Fri, Feb 8, 4:07 PM · Restricted Project, Restricted Project
aheejin added inline comments to D57874: [WebAssembly] Make thread-related options consistent.
Fri, Feb 8, 4:04 PM · Restricted Project, Restricted Project
aheejin updated the diff for D57874: [WebAssembly] Make thread-related options consistent.
  • Small fix
Fri, Feb 8, 4:04 PM · Restricted Project, Restricted Project
aheejin added reviewers for D57874: [WebAssembly] Make thread-related options consistent: tlively, sunfish.
Fri, Feb 8, 3:59 PM · Restricted Project, Restricted Project
aheejin updated the summary of D57874: [WebAssembly] Make thread-related options consistent.
Fri, Feb 8, 3:59 PM · Restricted Project, Restricted Project
aheejin updated the diff for D57874: [WebAssembly] Make thread-related options consistent.
  • Fix some bugs
  • Make the driver error out when explicitly given options don't match, such as -no-pthread and -matomics are given at the same time
Fri, Feb 8, 3:59 PM · Restricted Project, Restricted Project

Thu, Feb 7

aheejin committed rGdf6770f0c9a9: [WebAssembly] Fix parseImmediate's memory alignment requirement (authored by aheejin).
[WebAssembly] Fix parseImmediate's memory alignment requirement
Thu, Feb 7, 8:09 PM
aheejin committed rL353499: [WebAssembly] Fix parseImmediate's memory alignment requirement.
[WebAssembly] Fix parseImmediate's memory alignment requirement
Thu, Feb 7, 8:06 PM
aheejin accepted D57933: [WebAssembly] Fixed Disassembler ignoring endian swap on big endian..
Thu, Feb 7, 5:40 PM · Restricted Project
aheejin retitled D57874: [WebAssembly] Make thread-related options consistent from [WebAssembly] Set '-matomics' when '-pthread' is set to [WebAssembly] Make thread-related options consistent.
Thu, Feb 7, 4:59 PM · Restricted Project, Restricted Project
aheejin added inline comments to D57874: [WebAssembly] Make thread-related options consistent.
Thu, Feb 7, 4:57 PM · Restricted Project, Restricted Project
aheejin updated the diff for D57874: [WebAssembly] Make thread-related options consistent.

Sorry nevermind my previous code. There was not hacky and much cleaner way to do everything in the driver layer. (Before I tried to do everything in the cc1 compilation layer :( )

Thu, Feb 7, 4:54 PM · Restricted Project, Restricted Project
aheejin accepted D57800: [WebAssembly] LTO: Set POSIX thread model when linking with -shared-memoey.

I don't think we can remove the threadmodel thing from the backend in near future (because atomics is a subtarget feature), so I suggest landing this because without this LTO wouldn't work.

Thu, Feb 7, 2:33 PM · Restricted Project

Wed, Feb 6

aheejin updated the diff for D57874: [WebAssembly] Make thread-related options consistent.
  • Small fix
Wed, Feb 6, 7:37 PM · Restricted Project, Restricted Project
aheejin created D57874: [WebAssembly] Make thread-related options consistent.
Wed, Feb 6, 7:35 PM · Restricted Project, Restricted Project
aheejin accepted D57856: Remove reference to non-existent function. NFC..
Wed, Feb 6, 3:36 PM · Restricted Project

Tue, Feb 5

aheejin added a comment to D57798: [WebAssembly] Add atomics target option.

How does this relate to the existing -mattr=+atomics of llc? Will it also result in attributes #0 = { "target-features"="+atomics" } in the bitcode?

Tue, Feb 5, 6:41 PM · Restricted Project, Restricted Project
aheejin committed rGbab8597916bb: [WebAssembly] Add atomics target option (authored by aheejin).
[WebAssembly] Add atomics target option
Tue, Feb 5, 5:42 PM
aheejin committed rC353260: [WebAssembly] Add atomics target option.
[WebAssembly] Add atomics target option
Tue, Feb 5, 5:42 PM
aheejin committed rL353260: [WebAssembly] Add atomics target option.
[WebAssembly] Add atomics target option
Tue, Feb 5, 5:42 PM
aheejin closed D57798: [WebAssembly] Add atomics target option.
Tue, Feb 5, 5:42 PM · Restricted Project, Restricted Project
aheejin updated the diff for D57798: [WebAssembly] Add atomics target option.
  • Fix typo
Tue, Feb 5, 5:32 PM · Restricted Project, Restricted Project
aheejin created D57798: [WebAssembly] Add atomics target option.
Tue, Feb 5, 5:29 PM · Restricted Project, Restricted Project
aheejin committed rG4367587fc6f2: [WebAssembly] Tidy up `let` statements in .td files (NFC) (authored by aheejin).
[WebAssembly] Tidy up `let` statements in .td files (NFC)
Tue, Feb 5, 4:17 PM
aheejin committed rL353248: [WebAssembly] Tidy up `let` statements in .td files (NFC).
[WebAssembly] Tidy up `let` statements in .td files (NFC)
Tue, Feb 5, 4:16 PM
aheejin closed D57730: [WebAssembly] Tidy up `let` statements in .td files (NFC).
Tue, Feb 5, 4:16 PM · Restricted Project
aheejin committed rG7b7a4ef3d33d: [WebAssembly] Add a comment about why v128.const test was disabled (NFC) (authored by aheejin).
[WebAssembly] Add a comment about why v128.const test was disabled (NFC)
Tue, Feb 5, 3:02 PM
aheejin committed rL353236: [WebAssembly] Add a comment about why v128.const test was disabled (NFC).
[WebAssembly] Add a comment about why v128.const test was disabled (NFC)
Tue, Feb 5, 3:01 PM
aheejin added a comment to rL353131: [WebAssembly] Make disassembler always emit most canonical name..

Thanks for the report. Disabled the failing line temporarily in rL353234 until it is fixed.

Tue, Feb 5, 2:48 PM
aheejin committed rG1b8df427121e: [WebAssembly] Disable a v128.const test line temporarily (authored by aheejin).
[WebAssembly] Disable a v128.const test line temporarily
Tue, Feb 5, 2:48 PM
aheejin committed rL353234: [WebAssembly] Disable a v128.const test line temporarily.
[WebAssembly] Disable a v128.const test line temporarily
Tue, Feb 5, 2:47 PM

Mon, Feb 4

aheejin created D57730: [WebAssembly] Tidy up `let` statements in .td files (NFC).
Mon, Feb 4, 6:24 PM · Restricted Project
aheejin committed rGe37ba2cb967d: [WebAssembly] Fix indentation after adding IsCanonical property (NFC) (authored by aheejin).
[WebAssembly] Fix indentation after adding IsCanonical property (NFC)
Mon, Feb 4, 6:01 PM
aheejin committed rL353132: [WebAssembly] Fix indentation after adding IsCanonical property (NFC).
[WebAssembly] Fix indentation after adding IsCanonical property (NFC)
Mon, Feb 4, 5:59 PM