Page MenuHomePhabricator

aheejin (Heejin Ahn)
Bot

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Yesterday

aheejin updated the summary of D104423: [WebAssembly] Rename event to tag.
Wed, Jun 16, 9:25 PM · Restricted Project, Restricted Project
aheejin updated the summary of D104423: [WebAssembly] Rename event to tag.
Wed, Jun 16, 6:05 PM · Restricted Project, Restricted Project
aheejin updated the summary of D104423: [WebAssembly] Rename event to tag.
Wed, Jun 16, 6:04 PM · Restricted Project, Restricted Project
aheejin updated the diff for D104423: [WebAssembly] Rename event to tag.

clang-tidy fix

Wed, Jun 16, 5:19 PM · Restricted Project, Restricted Project
aheejin updated the diff for D104423: [WebAssembly] Rename event to tag.

Typo fixes

Wed, Jun 16, 3:36 PM · Restricted Project, Restricted Project
aheejin updated the diff for D104423: [WebAssembly] Rename event to tag.

Update comment

Wed, Jun 16, 3:22 PM · Restricted Project, Restricted Project
aheejin planned changes to D104423: [WebAssembly] Rename event to tag.

Oh, forgot to fix comments... will fix soon

Wed, Jun 16, 3:08 PM · Restricted Project, Restricted Project
aheejin requested review of D104423: [WebAssembly] Rename event to tag.
Wed, Jun 16, 3:07 PM · Restricted Project, Restricted Project

Wed, May 26

aheejin added a comment to D91722: [DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands.

Thanks for the report -- we're out of working hours in the UK timezone and I can't revert myself, if you could revert this for us, please do.

We are investigating now. I looks like this assert only fires in combination with WebAssemlby change that was landed between the 2nd and 3rd re-landing: https://reviews.llvm.org/D102589. I think we will try to fix forward if we can and if that fails revert either or the other.

Wed, May 26, 11:48 AM · Restricted Project, debug-info
aheejin committed rG5dd86aadf0b0: [WebAssembly] Add TargetInstrInfo::getCalleeOperand (authored by aheejin).
[WebAssembly] Add TargetInstrInfo::getCalleeOperand
Wed, May 26, 11:44 AM
aheejin closed D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand.
Wed, May 26, 11:44 AM · debug-info, Restricted Project
aheejin committed rG5bfe06ad3590: [SimplifyCFG] Use make_early_inc_range() while deleting instructions (authored by aheejin).
[SimplifyCFG] Use make_early_inc_range() while deleting instructions
Wed, May 26, 11:43 AM
aheejin closed D103181: [SimplifyCFG] Use make_early_inc_range() while deleting instructions.
Wed, May 26, 11:43 AM · Restricted Project
aheejin updated the diff for D103181: [SimplifyCFG] Use make_early_inc_range() while deleting instructions.

Remove unnecessary llvm::

Wed, May 26, 11:41 AM · Restricted Project
aheejin added inline comments to D103181: [SimplifyCFG] Use make_early_inc_range() while deleting instructions.
Wed, May 26, 11:41 AM · Restricted Project
aheejin retitled D103181: [SimplifyCFG] Use make_early_inc_range() while deleting instructions from [SimplifyCFG] Don't use phis() while deleting instructions to [SimplifyCFG] Use make_early_inc_range() while deleting instructions.
Wed, May 26, 11:36 AM · Restricted Project
aheejin updated the diff for D103181: [SimplifyCFG] Use make_early_inc_range() while deleting instructions.

Use make_early_inc_range()

Wed, May 26, 11:35 AM · Restricted Project
aheejin updated the summary of D103181: [SimplifyCFG] Use make_early_inc_range() while deleting instructions.
Wed, May 26, 9:49 AM · Restricted Project
aheejin requested review of D103181: [SimplifyCFG] Use make_early_inc_range() while deleting instructions.
Wed, May 26, 9:48 AM · Restricted Project

Tue, May 25

aheejin updated the diff for D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand.

Comment fix

Tue, May 25, 3:09 PM · debug-info, Restricted Project
aheejin updated the diff for D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand.

Address comments

Tue, May 25, 3:08 PM · debug-info, Restricted Project
aheejin added inline comments to D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand.
Tue, May 25, 12:19 AM · debug-info, Restricted Project
aheejin added inline comments to D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand.
Tue, May 25, 12:02 AM · debug-info, Restricted Project
aheejin updated the diff for D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand.

Address comments

Tue, May 25, 12:02 AM · debug-info, Restricted Project

Mon, May 24

aheejin updated the summary of D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand.
Mon, May 24, 11:50 PM · debug-info, Restricted Project
aheejin added a comment to D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand.

This happened to uncover a long-existing bug in WebAssembly::getCalleeOp. For indirect calls it returns MI.getOperand(MI.getNumOperands() - 1), but in the presence of implicit operands, most of the time it returns an incorrect operand. For example:

%37:i32 = CALL_INDIRECT 0, 0, %55:i32, %38:i32, %54:i32, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack, debug-location !39; system/lib/libc/musl/src/stdlib/bsearch.c:9:10

The callee operand is %54 here, but this returns implicit $value_stack. The should have used MI.getNumExplicitOperand() instead. This has not been a problem so far because this utility function has been used only from a few places and all of them only cared about direct calls.

Mon, May 24, 11:49 PM · debug-info, Restricted Project
aheejin updated the diff for D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand.

Fix WebAssembly::getCalleeOp for indirect calls

Mon, May 24, 11:40 PM · debug-info, Restricted Project
aheejin added inline comments to D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand.
Mon, May 24, 3:22 PM · debug-info, Restricted Project
aheejin added inline comments to D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand.
Mon, May 24, 3:21 PM · debug-info, Restricted Project
aheejin updated the diff for D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand.

Comment fix

Mon, May 24, 3:21 PM · debug-info, Restricted Project
aheejin updated the diff for D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand.

New standalone test

Mon, May 24, 3:19 PM · debug-info, Restricted Project
aheejin added a comment to D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand.

I think this makes sense.

my extra comment was that it seems likely that there are other places that currently use getOperand(0) that should now use this, and I was wondering if there were an easy way to find them since we can't just grep (especially since LLVM IR also has a getOperand). Thinking about that some more: Presumably uses in other backends would be safe to leave in place, and anything that affects codegen (at least in code that is covered at all) would be pretty broken, so maybe there actually aren't that many places outside of debug info (in other words broken debug info would be much more likely to go unnoticed than broken codegen).

Mon, May 24, 11:41 AM · debug-info, Restricted Project
aheejin committed rGa64ebb863727: [WebAssembly] Add NullifyDebugValueLists pass (authored by aheejin).
[WebAssembly] Add NullifyDebugValueLists pass
Mon, May 24, 11:36 AM
aheejin closed D102999: [WebAssembly] Add NullifyDebugValueLists pass.
Mon, May 24, 11:36 AM · Restricted Project
aheejin updated the diff for D102999: [WebAssembly] Add NullifyDebugValueLists pass.

More

Mon, May 24, 11:13 AM · Restricted Project
aheejin updated the diff for D102999: [WebAssembly] Add NullifyDebugValueLists pass.

Better comment

Mon, May 24, 11:09 AM · Restricted Project
aheejin added inline comments to D102999: [WebAssembly] Add NullifyDebugValueLists pass.
Mon, May 24, 11:09 AM · Restricted Project
aheejin updated the diff for D102999: [WebAssembly] Add NullifyDebugValueLists pass.

Add comment for DIArgList

Mon, May 24, 11:08 AM · Restricted Project
aheejin added inline comments to D102999: [WebAssembly] Add NullifyDebugValueLists pass.
Mon, May 24, 11:07 AM · Restricted Project
aheejin updated the diff for D102999: [WebAssembly] Add NullifyDebugValueLists pass.

Add BEFORE and AFTER tests

Mon, May 24, 11:07 AM · Restricted Project
aheejin added a comment to D102999: [WebAssembly] Add NullifyDebugValueLists pass.

This also contains a revert of D102589.

Mon, May 24, 10:42 AM · Restricted Project

Sun, May 23

aheejin requested review of D102999: [WebAssembly] Add NullifyDebugValueLists pass.
Sun, May 23, 8:31 PM · Restricted Project
aheejin added inline comments to D49887: [DebugInfo] Add support for DWARF5 call site-related attributes.
Sun, May 23, 1:18 PM · Restricted Project, debug-info

Sat, May 22

aheejin added inline comments to D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand.
Sat, May 22, 11:16 PM · debug-info, Restricted Project
aheejin requested review of D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand.
Sat, May 22, 11:08 PM · debug-info, Restricted Project

Thu, May 20

aheejin committed rG3eb12b0ae11f: [WebAssembly] Warn on exception spec for Emscripten EH (authored by aheejin).
[WebAssembly] Warn on exception spec for Emscripten EH
Thu, May 20, 1:01 PM
aheejin closed D102791: [WebAssembly] Warn on exception spec for Emscripten EH.
Thu, May 20, 1:00 PM · Restricted Project
aheejin added a reviewer for D102791: [WebAssembly] Warn on exception spec for Emscripten EH: kripken.
Thu, May 20, 1:29 AM · Restricted Project
aheejin committed rG412a3381f721: [WebAssembly] Ignore filters in Emscripten EH landingpads (authored by aheejin).
[WebAssembly] Ignore filters in Emscripten EH landingpads
Thu, May 20, 1:28 AM
aheejin closed D102795: [WebAssembly] Ignore filters in Emscripten EH landingpads.
Thu, May 20, 1:28 AM · Restricted Project
aheejin added a comment to D102791: [WebAssembly] Warn on exception spec for Emscripten EH.

BTW Is there a way to disable this warning?

Thu, May 20, 1:10 AM · Restricted Project

Wed, May 19

aheejin updated the summary of D102795: [WebAssembly] Ignore filters in Emscripten EH landingpads.
Wed, May 19, 11:58 AM · Restricted Project
aheejin requested review of D102795: [WebAssembly] Ignore filters in Emscripten EH landingpads.
Wed, May 19, 11:56 AM · Restricted Project
aheejin requested review of D102791: [WebAssembly] Warn on exception spec for Emscripten EH.
Wed, May 19, 11:24 AM · Restricted Project

May 17 2021

aheejin committed rG6e1c1dac4c72: [WebAssembly] Nullify DBG_VALUE_LISTs in DebugValueManager (authored by aheejin).
[WebAssembly] Nullify DBG_VALUE_LISTs in DebugValueManager
May 17 2021, 1:48 PM
aheejin closed D102589: [WebAssembly] Nullify DBG_VALUE_LISTs in DebugValueManager.
May 17 2021, 1:48 PM · Restricted Project
aheejin added a comment to D102589: [WebAssembly] Nullify DBG_VALUE_LISTs in DebugValueManager.

@jmorse Thanks for your help!

May 17 2021, 1:46 PM · Restricted Project
aheejin updated the diff for D102589: [WebAssembly] Nullify DBG_VALUE_LISTs in DebugValueManager.

Improve comments and CHECK line

May 17 2021, 11:08 AM · Restricted Project
aheejin retitled D102589: [WebAssembly] Nullify DBG_VALUE_LISTs in DebugValueManager from [WebAssembly] Nullify DBG_VALUE_LISTS in DebugValueManager to [WebAssembly] Nullify DBG_VALUE_LISTs in DebugValueManager.
May 17 2021, 10:57 AM · Restricted Project

May 16 2021

aheejin updated the diff for D102589: [WebAssembly] Nullify DBG_VALUE_LISTs in DebugValueManager.

Comment

May 16 2021, 6:44 PM · Restricted Project
aheejin requested review of D102589: [WebAssembly] Nullify DBG_VALUE_LISTs in DebugValueManager.
May 16 2021, 6:42 PM · Restricted Project

May 14 2021

aheejin committed rG71fbfb499aaa: [WebAssembly] Omit DBG_VALUE after terminator (authored by aheejin).
[WebAssembly] Omit DBG_VALUE after terminator
May 14 2021, 3:49 AM
aheejin closed D102309: [WebAssembly] Omit DBG_VALUE after terminator.
May 14 2021, 3:48 AM · Restricted Project
aheejin committed rG8e35a18e4ad4: [WebAssembly] Support Emscripten EH/SjLj in Wasm64 (authored by aheejin).
[WebAssembly] Support Emscripten EH/SjLj in Wasm64
May 14 2021, 3:45 AM
aheejin closed D101985: [WebAssembly] Support Emscripten EH/SjLj in Wasm64.
May 14 2021, 3:45 AM · Restricted Project

May 12 2021

aheejin committed rGba38b72ec283: [WebAssembly] Allow Wasm EH with Emscripten SjLj (authored by aheejin).
[WebAssembly] Allow Wasm EH with Emscripten SjLj
May 12 2021, 1:28 PM
aheejin closed D102364: [WebAssembly] Allow Wasm EH with Emscripten SjLj.
May 12 2021, 1:28 PM · Restricted Project
aheejin requested review of D102364: [WebAssembly] Allow Wasm EH with Emscripten SjLj.
May 12 2021, 1:24 PM · Restricted Project
aheejin added inline comments to D101985: [WebAssembly] Support Emscripten EH/SjLj in Wasm64.
May 12 2021, 2:41 AM · Restricted Project
aheejin updated the diff for D101985: [WebAssembly] Support Emscripten EH/SjLj in Wasm64.

Use DPTR in tests

May 12 2021, 2:41 AM · Restricted Project
aheejin updated the diff for D101985: [WebAssembly] Support Emscripten EH/SjLj in Wasm64.

Fix incorrect comment pointed out here: https://github.com/emscripten-core/emscripten/pull/14108/files#r627479849

May 12 2021, 2:01 AM · Restricted Project

May 11 2021

aheejin added a comment to D102309: [WebAssembly] Omit DBG_VALUE after terminator.

This is a second attempt after D101736, which was a hacky take to make MachineVerifier pass. It looks that was not necessary after all; thanks @jmorse.

May 11 2021, 11:29 PM · Restricted Project
aheejin requested review of D102309: [WebAssembly] Omit DBG_VALUE after terminator.
May 11 2021, 11:27 PM · Restricted Project
aheejin abandoned D101736: [WebAssembly] Allow DBG_VALUE after terminator in MachineVerifier.

@jmorse Thank you very much for the info! I didn't know DbgEntityHistoryCalculator terminates debug value ranges at the end of a BB. That solves everything without this hacky stuff. I uploaded a new patch in D102309.

May 11 2021, 11:26 PM · Restricted Project

May 10 2021

aheejin added inline comments to D49887: [DebugInfo] Add support for DWARF5 call site-related attributes.
May 10 2021, 9:33 PM · Restricted Project, debug-info
aheejin added a comment to D101735: [WebAssembly] Reenable end-to-end test in wasm-eh.cpp.

@dblaikie I can remove this one. This is not an important test anyway. But where are we supposed to test the arguments clang driver invokes the backend LLVM compilation with? This was mainly to test if -exception-model=wasm reaches the backend compilation.

May 10 2021, 9:23 PM · Restricted Project

May 7 2021

aheejin accepted D102018: [WebAssembly] Use functions instead of macros for const SIMD intrinsics.

To improve hygiene, consistency, and usability, it would be good to replace all
the macro intrinsics in wasm_simd128.h with functions. The reason for using
macros in the first place was to enforce the use of constants for some arguments
using _Static_assert with __builtin_constant_p. This commit switches to
using functions and uses the __diagnose_if__ attribute rather than
_Static_assert to enforce constantness.

May 7 2021, 12:33 AM · Restricted Project

May 6 2021

aheejin updated the summary of D101985: [WebAssembly] Support Emscripten EH/SjLj in Wasm64.
May 6 2021, 3:45 AM · Restricted Project
aheejin updated the summary of D101985: [WebAssembly] Support Emscripten EH/SjLj in Wasm64.
May 6 2021, 3:43 AM · Restricted Project
aheejin requested review of D101985: [WebAssembly] Support Emscripten EH/SjLj in Wasm64.
May 6 2021, 3:42 AM · Restricted Project
aheejin accepted D101979: [WebAssembly] Fix argument types in SIMD narrowing intrinsics.
May 6 2021, 12:56 AM · Restricted Project

May 5 2021

aheejin committed rG7f06cae1c19d: [WebAssembly] Fix JS code mentions in LowerEmscriptenEHSjLj (authored by aheejin).
[WebAssembly] Fix JS code mentions in LowerEmscriptenEHSjLj
May 5 2021, 5:08 PM
aheejin closed D101812: [WebAssembly] Fix JS code mentions in LowerEmscriptenEHSjLj.
May 5 2021, 5:08 PM · Restricted Project
aheejin added a comment to D101812: [WebAssembly] Fix JS code mentions in LowerEmscriptenEHSjLj.

emitEndOfAsmFile

May 5 2021, 4:37 PM · Restricted Project
aheejin added a comment to D101812: [WebAssembly] Fix JS code mentions in LowerEmscriptenEHSjLj.

Ping

May 5 2021, 3:47 PM · Restricted Project
aheejin accepted D101884: [WebAssembly] Fix constness of pointer params to load intrinsics.

I see, thanks. Then other load instructions are OK not to be fixed?

  • v128.load
  • v128.loadN_splat
  • v128.loadNxM_s/u
May 5 2021, 12:48 PM · Restricted Project
aheejin accepted D101885: [WebAssembly] Add SIMD const_splat intrinsics.
May 5 2021, 1:31 AM · Restricted Project
aheejin added a comment to D101884: [WebAssembly] Fix constness of pointer params to load intrinsics.

Why do only these instructions have const? It doesn't apply to other read-only arguments?

May 5 2021, 1:27 AM · Restricted Project
aheejin accepted D101883: [WebAssembly] Update narrowing builtin function operand types.
May 5 2021, 1:21 AM · Restricted Project
aheejin accepted D101850: [WebAssembly] Set alignment to 1 for SIMD memory intrinsics.

Thanks for the explanation!

May 5 2021, 12:47 AM · Restricted Project

May 4 2021

aheejin updated the diff for D101812: [WebAssembly] Fix JS code mentions in LowerEmscriptenEHSjLj.

Fix more comments

May 4 2021, 4:09 PM · Restricted Project
aheejin added a comment to D101850: [WebAssembly] Set alignment to 1 for SIMD memory intrinsics.

Sorry I'm not sure if I understand. The "expected alignment" for all those memory instructions is 1, regardless of the size of the element of the vectors? Can you elaborate on why the previous code is incorrect?

May 4 2021, 2:59 PM · Restricted Project
aheejin accepted D101805: [WebAssembly] Add codegen test for wasm_simd128.h.
May 4 2021, 12:56 AM · Restricted Project
aheejin accepted D101803: [WebAssembly] Mark abs of v2i64 as legal.
May 4 2021, 12:56 AM · Restricted Project
aheejin updated the diff for D101812: [WebAssembly] Fix JS code mentions in LowerEmscriptenEHSjLj.

Revert another accidental change

May 4 2021, 12:55 AM · Restricted Project

May 3 2021

aheejin updated the diff for D101812: [WebAssembly] Fix JS code mentions in LowerEmscriptenEHSjLj.

Revert accidental test changes

May 3 2021, 9:51 PM · Restricted Project
aheejin requested review of D101812: [WebAssembly] Fix JS code mentions in LowerEmscriptenEHSjLj.
May 3 2021, 9:51 PM · Restricted Project
aheejin added inline comments to D101736: [WebAssembly] Allow DBG_VALUE after terminator in MachineVerifier.
May 3 2021, 8:11 PM · Restricted Project
aheejin added a comment to D101736: [WebAssembly] Allow DBG_VALUE after terminator in MachineVerifier.

Yes, this makes sense to me. Another way to put it is that our br_if has the side effect of forcing termination of a "register" lifetime, which is uncommon.

Does LLVM not emit code for any other stack machines where this could happen? x87? :)

May 3 2021, 8:10 PM · Restricted Project
aheejin updated the summary of D101736: [WebAssembly] Allow DBG_VALUE after terminator in MachineVerifier.
May 3 2021, 7:35 PM · Restricted Project