Max Graey

Results 346 comments of Max Graey

So what we decide for this PR? Close / Merge ?

This `y: u8 | null = null` doesn't support yet. Only references can be nullable for now.

However, this definitely a parser issue: ```ts class C { y: null | string; } ```

I'm not sure using `isize` / `usize` parameter types for SIMD was a good idea. Some wasm ops may return different results in wasm32 / 64 mode. Like `v128.bitmask(...)` will...

`func_14` return struct which emulated via shadow stack and linear memory. In wasm `store` / `load` operations can't be removed due to side effects (may potentially produce a OOB trap).

> Also, as for the func_14 in the above code example, $__stack_pointer is read but not written The result's of `global.get $__stack_pointer` used to calculate value which stores in `i32.store16`....

> Does this mean all store/load instructions in wasm code are actually non-optimizable? Dead loads and stores could be eliminated probably with `--traps-never-happen`. But which may produce some other issues

I see. It's `*l = (func_14(0, 0, r, f, g_3), 0)`. It seemed to me that `*l = func_14(0, 0, r, f, g_3)`.

> https://github.com/WebAssembly/binaryen/issues/4947 as shown in this example, some instructions that are considered dead code by traditional C compilers may not be optimized away by wasm-opt. LLVM doesn't use global explicitly....

In general, many languages do dead code elimination and other hight level transformation which highly depends on lang context before translating to LLVM IR. For example, using own Middle IR...