wasm-micro-runtime/core/iwasm
Marcin Kolny 72b34eaf30
Fix AOT shift operations for indirect constants (#2627)
When doing more investigations related to this PR:
  https://github.com/bytecodealliance/wasm-micro-runtime/pull/2619
We found that in some scenarios the constant might not be directly
available to the LLVM IR builder, e.g.:
```
  (func $const_ret (result i32)
    i32.const -5
  )
  (func $foo
    (i32.shr_u (i32.const -1) (call $const_ret))
    (i32.const 31)
  )
```
In that case, the right parameter to `i32.shr_u` is not constant, therefore
the `SHIFT_COUNT_MASK` isn't applied. However, when the optimization
is enabled (`--opt-level` is 2 or 3), the optimization passes resolve the
call into constant, and that constant is poisoned, causing the compiler to
resolve the whole function to an exception.
2023-10-11 11:22:34 +08:00
..
aot CI: Enable testing AOT multi-module feature (#2621) 2023-10-08 08:36:49 +08:00
common CI: Enable testing AOT multi-module feature (#2621) 2023-10-08 08:36:49 +08:00
compilation Fix AOT shift operations for indirect constants (#2627) 2023-10-11 11:22:34 +08:00
doc Add architecture diagram for wasm globals and classic-interp stack frame (#2058) 2023-03-25 09:39:20 +08:00
fast-jit Fix nightly run sanitizer error in Fast JIT (#2601) 2023-09-27 15:41:48 +08:00
include Support muti-module for AOT mode (#2482) 2023-09-28 08:56:11 +08:00
interpreter Fix label index out-of-range references in op_br_table_cache (#2615) 2023-10-03 10:33:00 +08:00
libraries CI: Enable testing AOT multi-module feature (#2621) 2023-10-08 08:36:49 +08:00
README.md Add architecture diagram for wasm globals and classic-interp stack frame (#2058) 2023-03-25 09:39:20 +08:00