Page MenuHomePhabricator
Feed Advanced Search

Wed, Nov 13

aheejin committed rG70ee430c6e45: [WebAssembly] -fwasm-exceptions enables reference-types (authored by aheejin).
[WebAssembly] -fwasm-exceptions enables reference-types
Wed, Nov 13, 7:51 PM
aheejin closed D69832: [WebAssembly] -fwasm-exceptions enables reference-types.
Wed, Nov 13, 7:51 PM · Restricted Project
aheejin committed rG3306fe10fabb: [unittests] Add InitializePasses.h includes (authored by aheejin).
[unittests] Add InitializePasses.h includes
Wed, Nov 13, 7:44 PM
aheejin closed D70217: [unittests] Add InitializePasses.h includes.
Wed, Nov 13, 7:43 PM · Restricted Project
aheejin updated the diff for D70217: [unittests] Add InitializePasses.h includes.
  • Remove Pass.h includes that are unnecessary now
Wed, Nov 13, 6:30 PM · Restricted Project
aheejin created D70217: [unittests] Add InitializePasses.h includes.
Wed, Nov 13, 6:30 PM · Restricted Project
aheejin added a comment to D69832: [WebAssembly] -fwasm-exceptions enables reference-types.

pong

Wed, Nov 13, 2:21 PM · Restricted Project

Tue, Nov 12

aheejin added a comment to D69832: [WebAssembly] -fwasm-exceptions enables reference-types.

ping

Tue, Nov 12, 10:28 AM · Restricted Project

Mon, Nov 4

aheejin created D69832: [WebAssembly] -fwasm-exceptions enables reference-types.
Mon, Nov 4, 4:06 PM · Restricted Project

Thu, Oct 31

aheejin accepted D69697: [WebAssembly] Add experimental SIMD dot product instruction.
Thu, Oct 31, 8:46 PM · Restricted Project, Restricted Project
aheejin committed rGb9903ec8979f: [clang][driver] Add ProfileData to LLVM_LINK_COMPONENTS (authored by aheejin).
[clang][driver] Add ProfileData to LLVM_LINK_COMPONENTS
Thu, Oct 31, 7:56 PM
aheejin closed D69699: [clang][driver] Add ProfileData to LLVM_LINK_COMPONENTS.
Thu, Oct 31, 7:56 PM · Restricted Project
aheejin added inline comments to D69697: [WebAssembly] Add experimental SIMD dot product instruction.
Thu, Oct 31, 7:56 PM · Restricted Project, Restricted Project
aheejin created D69699: [clang][driver] Add ProfileData to LLVM_LINK_COMPONENTS.
Thu, Oct 31, 7:56 PM · Restricted Project
aheejin accepted D69696: [WebAssembly] SIMD integer min and max instructions.

Is this https://github.com/WebAssembly/simd/pull/27 ? Can you please include the spec (even if it's still an unmerged PR) in the CL description next time? LGTM.

Thu, Oct 31, 7:29 PM · Restricted Project, Restricted Project

Wed, Oct 30

aheejin accepted D69604: [WebAssembly] Expand setcc of v2i64.
Wed, Oct 30, 8:39 PM · Restricted Project
aheejin accepted D69640: [WebAssembly] Handle multiple loads of splatted loads.

LGTM. It's interesting that we can use MemIntrinsicNode for this purpose even if it's not an intrinsic...
(I guess we can also use MachineSDNode because we are effectively doing isel before we reach tablegen, but given that we've used it only in WebAssemblyISelDAGToDAG.cpp and we do most custom SIMD lowering in WebAssemblyISelLowering.cpp, this looks like a good trick.)

Wed, Oct 30, 7:28 PM · Restricted Project

Oct 18 2019

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

Oct 15 2019

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

Oct 14 2019

aheejin accepted D68902: [WebAssembly] Trapping fptoint builtins and intrinsics.
Oct 14 2019, 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?

Oct 14 2019, 11:02 AM · Restricted Project

Oct 11 2019

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

Nice! Mostly LGTM.

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

Oct 9 2019

aheejin accepted D68684: [WebAssembly] Make returns variadic.
Oct 9 2019, 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.

Oct 9 2019, 1:47 PM · Restricted Project

Oct 8 2019

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?

Oct 8 2019, 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
Oct 8 2019, 9:23 AM
aheejin closed D68619: [WebAssembly] Fix a bug in 'try' placement.
Oct 8 2019, 9:23 AM · Restricted Project
aheejin committed rL374073: [WebAssembly] Fix a bug in 'try' placement.
[WebAssembly] Fix a bug in 'try' placement
Oct 8 2019, 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?

Oct 8 2019, 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?
Oct 8 2019, 8:45 AM · Restricted Project

Oct 7 2019

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

Thank you! Done in r374015.

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

Merging this, because this crashes builds.

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

Oct 6 2019

aheejin updated the summary of D68553: [WebAssembly] Add memory intrinsics handling to mayThrow().
Oct 6 2019, 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().
Oct 6 2019, 7:36 AM · Restricted Project
aheejin updated the diff for D68552: [WebAssembly] Fix unwind mismatch stat computation.

Rebase onto D68553

Oct 6 2019, 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.
Oct 6 2019, 7:36 AM · Restricted Project
aheejin created D68553: [WebAssembly] Add memory intrinsics handling to mayThrow().
Oct 6 2019, 7:19 AM · Restricted Project
aheejin created D68552: [WebAssembly] Fix unwind mismatch stat computation.
Oct 6 2019, 7:19 AM · Restricted Project

Oct 1 2019

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

Sep 30 2019

aheejin committed rGe2bcab61009a: [WebAssembly] Make sure EH pads are preferred in sorting (authored by aheejin).
[WebAssembly] Make sure EH pads are preferred in sorting
Sep 30 2019, 11:53 PM
aheejin committed rL373302: [WebAssembly] Make sure EH pads are preferred in sorting.
[WebAssembly] Make sure EH pads are preferred in sorting
Sep 30 2019, 11:52 PM
aheejin closed D68229: [WebAssembly] Make sure EH pads are preferred in sorting.
Sep 30 2019, 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
Sep 30 2019, 11:21 PM
aheejin committed rL373301: [WebAssembly] Unstackify regs after fixing unwinding mismatches.
[WebAssembly] Unstackify regs after fixing unwinding mismatches
Sep 30 2019, 11:20 PM
aheejin closed D68218: [WebAssembly] Unstackify regs after fixing unwinding mismatches.
Sep 30 2019, 11:20 PM · Restricted Project
aheejin updated the diff for D68218: [WebAssembly] Unstackify regs after fixing unwinding mismatches.
  • Address comments
Sep 30 2019, 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.
Sep 30 2019, 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.
Sep 30 2019, 9:07 AM · Restricted Project
aheejin created D68229: [WebAssembly] Make sure EH pads are preferred in sorting.
Sep 30 2019, 9:07 AM · Restricted Project
aheejin created D68218: [WebAssembly] Unstackify regs after fixing unwinding mismatches.
Sep 30 2019, 6:41 AM · Restricted Project

Sep 26 2019

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

Sep 23 2019

aheejin accepted D67930: [WebAssembly][NFC] Remove duplicate SIMD instructions and predicates.
Sep 23 2019, 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.

Sep 23 2019, 8:31 AM · Restricted Project
aheejin added inline comments to D67783: [WebAssembly] Remove unused memory instructions and patterns.
Sep 23 2019, 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