aheejin (Heejin Ahn)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 29 2016, 12:33 AM (102 w, 6 d)

Recent Activity

Today

aheejin committed rL337512: [WebAssembly] Disable a test that violates DR1696.
[WebAssembly] Disable a test that violates DR1696
Thu, Jul 19, 5:18 PM
aheejin closed D49577: [WebAssembly] Disable a test that violates DR1696.
Thu, Jul 19, 5:18 PM
aheejin added a comment to D49577: [WebAssembly] Disable a test that violates DR1696.

Yes, r337329 did.

Thu, Jul 19, 5:18 PM
aheejin created D49577: [WebAssembly] Disable a test that violates DR1696.
Thu, Jul 19, 5:01 PM

Yesterday

aheejin committed rL337425: [WebAssembly] Add missing -mattr=+exception-handling guards.
[WebAssembly] Add missing -mattr=+exception-handling guards
Wed, Jul 18, 2:47 PM
aheejin closed D49391: [WebAssembly] Add missing -mattr=+exception-handling guards.
Wed, Jul 18, 2:47 PM

Tue, Jul 17

aheejin updated the diff for D49440: [WebAssembly] Enable atomic expansion for unsupported atomicrmws.
  • cosmetic change
Tue, Jul 17, 4:47 PM
aheejin added a comment to D49391: [WebAssembly] Add missing -mattr=+exception-handling guards.

@jgravelle-google ping

Tue, Jul 17, 2:19 PM
aheejin updated the diff for D49395: [WebAssembly] Support for atomic.wait / atomic.wake instructions.
  • Type fix
Tue, Jul 17, 1:33 PM
aheejin updated the diff for D49396: [WebAssembly] Support for atomic.wait / atomic.wake builtins.
  • Type fix
Tue, Jul 17, 1:32 PM
aheejin added a comment to D49391: [WebAssembly] Add missing -mattr=+exception-handling guards.
Tue, Jul 17, 12:38 PM
aheejin added a comment to D49440: [WebAssembly] Enable atomic expansion for unsupported atomicrmws.

For the same reason described here, in truncation/extension involving i64, we currently are not able to use the truncate/extend version of the cmpxchg instruction, so it is little suboptimal. Will solve this in a separate CL.

Tue, Jul 17, 11:47 AM
aheejin created D49440: [WebAssembly] Enable atomic expansion for unsupported atomicrmws.
Tue, Jul 17, 11:43 AM
aheejin added a comment to D49391: [WebAssembly] Add missing -mattr=+exception-handling guards.

Ping

Tue, Jul 17, 10:24 AM

Mon, Jul 16

aheejin added a reviewer for D49391: [WebAssembly] Add missing -mattr=+exception-handling guards: aardappel.
Mon, Jul 16, 4:28 PM
aheejin accepted D49263: [WebAssembly] Update WebAssemblyLowerEmscriptenEHSjLj to handle separate compilation.

I'm OK with this, but @dschuff might prefer the library approach..?

Mon, Jul 16, 3:43 PM
aheejin added inline comments to D49263: [WebAssembly] Update WebAssemblyLowerEmscriptenEHSjLj to handle separate compilation.
Mon, Jul 16, 3:43 PM
aheejin added inline comments to D49160: [WebAssembly] Added default stack-only instruction mode for MC..
Mon, Jul 16, 2:58 PM
aheejin added inline comments to D49160: [WebAssembly] Added default stack-only instruction mode for MC..
Mon, Jul 16, 2:55 PM
aheejin added a dependency for D49396: [WebAssembly] Support for atomic.wait / atomic.wake builtins: D49395: [WebAssembly] Support for atomic.wait / atomic.wake instructions.
Mon, Jul 16, 12:21 PM
aheejin added a dependent revision for D49395: [WebAssembly] Support for atomic.wait / atomic.wake instructions: D49396: [WebAssembly] Support for atomic.wait / atomic.wake builtins.
Mon, Jul 16, 12:21 PM
aheejin updated the summary of D49396: [WebAssembly] Support for atomic.wait / atomic.wake builtins.
Mon, Jul 16, 12:21 PM
aheejin updated the summary of D49396: [WebAssembly] Support for atomic.wait / atomic.wake builtins.
Mon, Jul 16, 12:20 PM
aheejin updated the diff for D49396: [WebAssembly] Support for atomic.wait / atomic.wake builtins.
  • test fix
Mon, Jul 16, 12:19 PM
aheejin created D49396: [WebAssembly] Support for atomic.wait / atomic.wake builtins.
Mon, Jul 16, 12:18 PM
aheejin updated the summary of D49395: [WebAssembly] Support for atomic.wait / atomic.wake instructions.
Mon, Jul 16, 12:18 PM
aheejin updated the summary of D49395: [WebAssembly] Support for atomic.wait / atomic.wake instructions.
Mon, Jul 16, 12:18 PM
aheejin updated the summary of D49395: [WebAssembly] Support for atomic.wait / atomic.wake instructions.
Mon, Jul 16, 12:15 PM
aheejin created D49395: [WebAssembly] Support for atomic.wait / atomic.wake instructions.
Mon, Jul 16, 12:14 PM
aheejin updated the diff for D49195: [WebAssembly] Support for a ternary atomic RMW instruction.
  • Add a TODO
Mon, Jul 16, 11:38 AM
aheejin created D49391: [WebAssembly] Add missing -mattr=+exception-handling guards.
Mon, Jul 16, 11:33 AM
aheejin added inline comments to D46500: [WebAssembly] CFG sort support for exception handling.
Mon, Jul 16, 11:32 AM
aheejin updated the diff for D46500: [WebAssembly] CFG sort support for exception handling.
  • Address comments
  • Add +mattr=exception-handling flag
Mon, Jul 16, 10:39 AM

Thu, Jul 12

aheejin added a comment to D49194: [WebAssembly] Add tests for weaker memory consistency orderings.

Currently LLVM treats all atomic IR instructions as volatile. Link0 Link1 So I'm not exactly sure what you mean by 'upgrade volatile to seq_cst' is. For non-atomic volatile memory instructions, they are not atomic, so they don't have orderings.

Thu, Jul 12, 6:36 PM
aheejin added inline comments to D49263: [WebAssembly] Update WebAssemblyLowerEmscriptenEHSjLj to handle separate compilation.
Thu, Jul 12, 1:09 PM
aheejin added a comment to D49195: [WebAssembly] Support for a ternary atomic RMW instruction.

I think this CL can be reviewed as is. I will add an optimization for the success flag thing in another CL bc it is gonna be too long. So the problem I was talking about is, let's say we have these two test cases:

define i64 @cmpxchg_i8_i64_loaded_value(i8* %p, i64 %exp, i64 %new) {
  %exp_t = trunc i64 %exp to i8
  %new_t = trunc i64 %new to i8
  %pair = cmpxchg i8* %p, i8 %exp_t, i8 %new_t seq_cst seq_cst
  %old = extractvalue { i8, i1 } %pair, 0
  %e = zext i8 %old to i64
  ret i64 %e
}
Thu, Jul 12, 1:22 AM
aheejin updated the diff for D49195: [WebAssembly] Support for a ternary atomic RMW instruction.

Variable name change

Thu, Jul 12, 1:02 AM

Wed, Jul 11

aheejin added inline comments to D49208: [WebAssembly] Update WebAssemblyLowerEmscriptenEHSjLj to support separate compilation..
Wed, Jul 11, 5:32 PM
aheejin added a comment to D49208: [WebAssembly] Update WebAssemblyLowerEmscriptenEHSjLj to support separate compilation..
  1. For emscripten-based EH, we don't use a separate libcxxabi; emscripten provides handful of library functions in JavaScript. Are you planning to provide them from emscripten and import them from wasm?
  2. Because now this does not create those functions and global variables anymore, certain tests, such as lower-em-exceptions.ll, will fail. I guess you should update that as well.
Wed, Jul 11, 5:11 PM
aheejin planned changes to D49195: [WebAssembly] Support for a ternary atomic RMW instruction.

Turns out this is not currently able to make use of truncating/extending instructions when the 'success flag' of the LLVM IR cmpxchg instruction is used.

Wed, Jul 11, 2:28 PM
aheejin added a dependency for D49195: [WebAssembly] Support for a ternary atomic RMW instruction: D49194: [WebAssembly] Add tests for weaker memory consistency orderings.
Wed, Jul 11, 9:44 AM
aheejin added a dependent revision for D49194: [WebAssembly] Add tests for weaker memory consistency orderings: D49195: [WebAssembly] Support for a ternary atomic RMW instruction.
Wed, Jul 11, 9:44 AM
aheejin added a comment to D49088: [WebAssembly] Support for binary atomic RMW instructions.

Tests for weaker memory orderings have been added in D49194.

Wed, Jul 11, 9:29 AM
aheejin created D49195: [WebAssembly] Support for a ternary atomic RMW instruction.
Wed, Jul 11, 9:16 AM
aheejin created D49194: [WebAssembly] Add tests for weaker memory consistency orderings.
Wed, Jul 11, 9:16 AM

Tue, Jul 10

aheejin committed rL336691: [WebAssembly] Add missing a few {{$}}s to a test.
[WebAssembly] Add missing a few {{$}}s to a test
Tue, Jul 10, 9:05 AM

Mon, Jul 9

aheejin committed rL336615: [WebAssembly] Support for binary atomic RMW instructions.
[WebAssembly] Support for binary atomic RMW instructions
Mon, Jul 9, 3:36 PM
aheejin closed D49088: [WebAssembly] Support for binary atomic RMW instructions.
Mon, Jul 9, 3:35 PM
aheejin added a comment to D49088: [WebAssembly] Support for binary atomic RMW instructions.

Will add non-seq_cst tests in another CL, because I guess we need them in not only here but in atomic loads/stores too.

Mon, Jul 9, 3:12 PM
aheejin updated the diff for D49088: [WebAssembly] Support for binary atomic RMW instructions.
  • Fix a typo
Mon, Jul 9, 2:45 PM
aheejin updated the summary of D49088: [WebAssembly] Support for binary atomic RMW instructions.
Mon, Jul 9, 2:26 PM
aheejin committed rL336598: [WebAssembly] Improve readability of load/stores and tests. NFC..
[WebAssembly] Improve readability of load/stores and tests. NFC.
Mon, Jul 9, 1:23 PM
aheejin closed D49087: [WebAssembly] Improve readability of load/stores and tests. NFC..
Mon, Jul 9, 1:23 PM
aheejin updated the diff for D49087: [WebAssembly] Improve readability of load/stores and tests. NFC..
  • Pattern name change: anyext_aload -> sext_aload

This pattern doesn't cover all the sign extension selection (we need a
sext_inreg after that), but it looks less confusing and more consistent with
zext_aload patterns. And we gave enough explanations in comments anyway.

Mon, Jul 9, 10:41 AM
aheejin added a dependency for D49088: [WebAssembly] Support for binary atomic RMW instructions: D49087: [WebAssembly] Improve readability of load/stores and tests. NFC..
Mon, Jul 9, 10:01 AM
aheejin added a dependent revision for D49087: [WebAssembly] Improve readability of load/stores and tests. NFC.: D49088: [WebAssembly] Support for binary atomic RMW instructions.
Mon, Jul 9, 10:01 AM
aheejin created D49088: [WebAssembly] Support for binary atomic RMW instructions.
Mon, Jul 9, 10:00 AM
aheejin created D49087: [WebAssembly] Improve readability of load/stores and tests. NFC..
Mon, Jul 9, 9:59 AM
aheejin committed rL336526: [Index] Add clangLex to LINK_LIBS.
[Index] Add clangLex to LINK_LIBS
Mon, Jul 9, 1:59 AM
aheejin committed rC336526: [Index] Add clangLex to LINK_LIBS.
[Index] Add clangLex to LINK_LIBS
Mon, Jul 9, 1:59 AM

Thu, Jul 5

aheejin added inline comments to D46500: [WebAssembly] CFG sort support for exception handling.
Thu, Jul 5, 9:14 PM
aheejin updated the diff for D46500: [WebAssembly] CFG sort support for exception handling.
  • More unit -> region
Thu, Jul 5, 9:08 PM
aheejin updated the diff for D46500: [WebAssembly] CFG sort support for exception handling.
  • SortUnit -> Region
Thu, Jul 5, 8:52 PM
aheejin added a comment to D48985: [WebAssembly] Converted to stack based instructions in MC..

Why is this WIP and when do you plan to land this? I'm working on tests that may conflict with this, so I'm not sure which format I should target.

Thu, Jul 5, 8:00 PM
aheejin committed rL336390: [WebAssembly] Add missing _S opcodes of atomic stores to InstPrinter.
[WebAssembly] Add missing _S opcodes of atomic stores to InstPrinter
Thu, Jul 5, 2:32 PM
aheejin closed D48992: [WebAssembly] Add missing _S opcodes of atomic stores to InstPrinter.
Thu, Jul 5, 2:32 PM
aheejin committed rL336389: [ORC] Add BitReader/BitWriter to target_link_libraries.
[ORC] Add BitReader/BitWriter to target_link_libraries
Thu, Jul 5, 2:28 PM
aheejin closed D48995: [ORC] Add BitReader/BitWriter to target_link_libraries.
Thu, Jul 5, 2:28 PM
aheejin created D48995: [ORC] Add BitReader/BitWriter to target_link_libraries.
Thu, Jul 5, 1:45 PM
aheejin added a comment to D48985: [WebAssembly] Converted to stack based instructions in MC..

So after this patch, is the former register-based form of printing still supported, or the stack-baed form is the only printable form?

Thu, Jul 5, 1:15 PM
aheejin created D48992: [WebAssembly] Add missing _S opcodes of atomic stores to InstPrinter.
Thu, Jul 5, 12:56 PM

Mon, Jul 2

aheejin committed rL336145: [WebAssembly] Support for atomic stores.
[WebAssembly] Support for atomic stores
Mon, Jul 2, 2:28 PM
aheejin closed D48839: [WebAssembly] Support for atomic stores.
Mon, Jul 2, 2:27 PM
aheejin updated the diff for D48839: [WebAssembly] Support for atomic stores.
  • blank lines
Mon, Jul 2, 9:43 AM
aheejin created D48839: [WebAssembly] Support for atomic stores.
Mon, Jul 2, 9:40 AM

Fri, Jun 29

aheejin committed rL336018: [WebAssembly] Update comments for non-splat pow2 vector test case.
[WebAssembly] Update comments for non-splat pow2 vector test case
Fri, Jun 29, 2:32 PM
aheejin closed D48692: [WebAssembly] Update comments for non-splat pow2 vector test case.
Fri, Jun 29, 2:32 PM
aheejin committed rL336017: [WebAssembly] Comment out a switch block in ISelDAGToDAG.
[WebAssembly] Comment out a switch block in ISelDAGToDAG
Fri, Jun 29, 2:24 PM
aheejin closed D48737: [WebAssembly] Comment out a switch block in ISelDAGToDAG.
Fri, Jun 29, 2:24 PM
aheejin updated the diff for D48737: [WebAssembly] Comment out a switch block in ISelDAGToDAG.
  • Removed VT
Fri, Jun 29, 2:18 PM

Thu, Jun 28

aheejin updated the diff for D48692: [WebAssembly] Update comments for non-splat pow2 vector test case.
  • Revive -elf.. this is getting removed in D48744
Thu, Jun 28, 2:43 PM
aheejin updated the diff for D48692: [WebAssembly] Update comments for non-splat pow2 vector test case.
  • Remove -elf triple which is not needed anymore
Thu, Jun 28, 2:40 PM
aheejin retitled D48692: [WebAssembly] Update comments for non-splat pow2 vector test case from [WebAssembly] Delete vector sdiv test case to [WebAssembly] Update comments for non-splat pow2 vector test case.
Thu, Jun 28, 2:30 PM
aheejin updated the diff for D48692: [WebAssembly] Update comments for non-splat pow2 vector test case.
  • Revive vector_sdiv.ll and changed its name to vector-sdiv.ll
  • Update comments
Thu, Jun 28, 2:26 PM
aheejin updated the summary of D48692: [WebAssembly] Update comments for non-splat pow2 vector test case.
Thu, Jun 28, 2:25 PM
aheejin added a comment to D48692: [WebAssembly] Update comments for non-splat pow2 vector test case.

Oh, what I meant by the test started failing is not about rL335821 but rL335727. I wasn't even aware of getSetCCResultType thing when I posted the previous comment.. Anyway then I'll update the comment.

Thu, Jun 28, 2:14 PM
aheejin updated the summary of D48737: [WebAssembly] Comment out a switch block in ISelDAGToDAG.
Thu, Jun 28, 1:08 PM
aheejin created D48737: [WebAssembly] Comment out a switch block in ISelDAGToDAG.
Thu, Jun 28, 1:05 PM
aheejin added a comment to D48692: [WebAssembly] Update comments for non-splat pow2 vector test case.

Thanks. I'm little not sure if you remember the history, so FYI, this test case was added in D46161 (rL329525) to make sure the case with 1's in a vector should NOT be converted to 'shr's and remain as 'sdiv's, in which case shifting a value by the number of its bit widths becomes undef. But after rL335727, you fixed it so now even vectors with 1's in there can be correctly treated as pow2 non-splat vectors, so this test started failing. So in rL335771 someone else (not me) fixed the expectation to 'shr's, so the purpose this case was added is now unnecessary.

Thu, Jun 28, 10:23 AM

Wed, Jun 27

aheejin created D48692: [WebAssembly] Update comments for non-splat pow2 vector test case.
Wed, Jun 27, 5:25 PM
aheejin committed rL335791: [analyzer] Add clangFrontend to target_link_libraries.
[analyzer] Add clangFrontend to target_link_libraries
Wed, Jun 27, 3:09 PM
aheejin committed rC335791: [analyzer] Add clangFrontend to target_link_libraries.
[analyzer] Add clangFrontend to target_link_libraries
Wed, Jun 27, 3:09 PM

Tue, Jun 26

aheejin added a comment to D48345: [WebAssembly] Fix unwind destination mismatches in CFG stackify (WIP).

Continuing the discussion started in the email:

Tue, Jun 26, 12:16 AM

Sun, Jun 24

aheejin committed rL335439: [WebAssembly] Add WebAssemblyException information analysis.
[WebAssembly] Add WebAssemblyException information analysis
Sun, Jun 24, 6:25 PM
aheejin closed D44134: [WebAssembly] Add WebAssemblyException information analysis.
Sun, Jun 24, 6:25 PM
aheejin committed rL335438: [WebAssembly] Add WebAssemblyLateEHPrepare pass.
[WebAssembly] Add WebAssemblyLateEHPrepare pass
Sun, Jun 24, 6:11 PM
aheejin closed D46803: [WebAssembly] Add WebAssemblyLateEHPrepare pass.
Sun, Jun 24, 6:11 PM

Thu, Jun 21

aheejin added inline comments to D48443: [WebAssembly] Add no-prototype attribute to prototype-less C functions.
Thu, Jun 21, 2:25 PM

Wed, Jun 20

aheejin added a comment to D44134: [WebAssembly] Add WebAssemblyException information analysis.

@majnemer I inserted a routine to ensure a terminate pad should be a single BB in this previous pass (D46803). Do you have any other concerns here?

Wed, Jun 20, 5:22 PM
aheejin retitled D46803: [WebAssembly] Add WebAssemblyLateEHPrepare pass from [WebAssembly] Add WebAssemblyExceptionPrepare pass to [WebAssembly] Add WebAssemblyLateEHPrepare pass.
Wed, Jun 20, 4:21 PM