Commit Graph

1012 Commits

Author SHA1 Message Date
Takeshi Yoneda
27624049dc wazevo(frontend): faster non-imported global access (#1889)
Some checks failed
Release CLI / Pre-release build (push) Has been cancelled
Release CLI / Pre-release test (macos-12) (push) Has been cancelled
Release CLI / Pre-release test (ubuntu-22.04) (push) Has been cancelled
Release CLI / Pre-release test (windows-2022) (push) Has been cancelled
Release CLI / Release (push) Has been cancelled
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-22 08:04:48 -08:00
Takeshi Yoneda
68729c0a8e Correctly exit Stdlib tests on failure (#1888)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-21 11:08:17 -08:00
Takeshi Yoneda
866d555874 wazevo(arm64): optimize out unnecessary UExtend (#1886)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-21 08:46:05 -08:00
Takeshi Yoneda
cd143e849f Makes Std lib tests benchstat compatible (#1887)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-20 21:55:07 -08:00
Takeshi Yoneda
6fdb893c65 Fixes std lib cases actually benchmarkable (#1885)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-20 19:04:07 -08:00
Takeshi Yoneda
8c71d4d0fe Flattens std lib test cases (#1884)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-20 15:32:15 -08:00
Edoardo Vacchi
823d573fd2 bench: add stdlib benchmark old vs new compiler (#1878)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2023-12-20 10:42:24 -08:00
Takeshi Yoneda
fa2b2fc090 wazevo(frontend): simple bounds check elimination on mem access (#1883)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-20 07:51:19 -08:00
Takeshi Yoneda
d26cbadd46 wazevo(arm64): adds missing PerfMapEnabled branch (#1882)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-19 15:13:03 -08:00
Takeshi Yoneda
1a067a5e28 wazevo(arm64): lower constant bitwise ops with bitmask immeidates (#1881)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-19 12:49:49 -08:00
Takeshi Yoneda
fe5aebc764 wazevo: adds perfmap build tag to write perf-map (#1880)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-19 08:26:47 -08:00
Takeshi Yoneda
8303a56731 wazevo(arm64): fixes lowerLoadSplatFromAddressMode for zero offset (#1877)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-15 20:19:14 -08:00
Edoardo Vacchi
ebaa5a0ebf ci: run integration tests against the optimizing compiler (linux/arm64) (#1875)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
Co-authored-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-15 09:24:07 -08:00
Takeshi Yoneda
a6fea913e8 wazevo(arm64): relocations for large conditional branches (#1873)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-14 12:45:44 -08:00
Takeshi Yoneda
87a48d8eee Introduces the new optimizing compiler (wazevo) in experimental pkg (#1869)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-14 08:27:35 -08:00
Takeshi Yoneda
56d19deb16 wasi: uses io.Seek{Start,Current} in reopen (#1868)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-13 08:33:23 -08:00
Takeshi Yoneda
5d1d15fb9f wazevo: cleans up debug options (#1867)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-13 07:19:21 -08:00
Takeshi Yoneda
cf426e7aa9 fuzz: ensures the alternate stack for signal handling (#1864)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-12-13 07:07:34 -08:00
Yage Hu
f46d5b943d wasi: resets offsets in reopen (#1866)
Signed-off-by: Yage Hu <me@huyage.dev>
2023-12-12 15:29:20 -08:00
Yage Hu
99ededcefd Fix fd_fdstat_set_flags truncating with O_TRUNC (#1863) 2023-12-12 06:49:56 -08:00
Takeshi Yoneda
d39d84505a fuzz: makes execution order deterministic (#1850)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-27 10:54:16 +09:00
Takeshi Yoneda
9ec72567db fuzz: ignores the stack detail during stack overflow (#1849)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-27 10:22:58 +09:00
Takeshi Yoneda
1afa54fee4 wazevo(regalloc): fixes phi spill logic (#1846)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-24 09:43:57 +09:00
Takeshi Yoneda
17427e60e9 fuzz: adds support for minimization via wasm-tools shrink (#1844)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-23 08:29:10 +09:00
Takeshi Yoneda
b4c1f26232 wazevo(regalloc): specifies the VReg in swapping (#1843)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-20 16:29:00 +09:00
Takeshi Yoneda
4f6d214332 wazevo(regalloc): set reg usage flag in swaps (#1842)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-20 14:52:08 +09:00
Takeshi Yoneda
374d6ff712 wazevo: implements linear reg alloc algorithm (#1829)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-16 14:46:03 +09:00
Takeshi Yoneda
73d6c3b382 wazevo(arm64): fixes Vector select (#1840)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-16 14:38:58 +09:00
Takeshi Yoneda
ecef21ccfb wazevo(arm64): fixes Vector select (#1839)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-15 15:26:37 +09:00
Takeshi Yoneda
0a2e2c2c51 wazevo(arm64): fixes BSL use/def info (#1838)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-15 12:03:39 +09:00
Takeshi Yoneda
33d815fe40 wazevo(arm64): fixes lowerSelectVec (#1837)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-15 09:08:25 +09:00
Takeshi Yoneda
a1b48079b9 wazevo(arm64): fixes lowerVMinMaxPseudo (#1836)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-15 08:13:07 +09:00
Takeshi Yoneda
6a7e474e02 wazevo(arm64): reuses queue in addr lowering (#1835)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-13 12:06:30 +09:00
Takeshi Yoneda
2d760b400f wazevo(ssa): resets nextVariable (#1834)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-13 09:43:45 +09:00
Takeshi Yoneda
9bc1ae6816 wazevo(arm64): places spill slots below clobbered regs (#1833)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-10 11:27:13 +09:00
Takeshi Yoneda
b16e47721b wazevo(arm64): fixes copyToTmp (#1832)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-09 15:55:21 +09:00
Takeshi Yoneda
cfc2b25b9f wazevo(arm64): fixes tmp register types (#1831)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-09 14:50:32 +09:00
Takeshi Yoneda
a4b4801d53 wazevo(arm64): use tmp regs to store values used during branches (#1830)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-09 14:17:52 +09:00
Takeshi Yoneda
d3b83a596c wazevo(ssa): resets loop header flag (#1828)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-11-02 14:33:39 +09:00
Edoardo Vacchi
9841c5fc04 wazevo: fuzz, fix Fcopysign (#1826)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2023-11-01 07:36:28 +09:00
Edoardo Vacchi
928fce854f wazevo: fuzz, fix ssa.OpcodeInsertlane (#1825)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2023-10-31 23:18:46 +01:00
Edoardo Vacchi
ec1844c6fc wazevo: fuzz, fix f64x2.pmin (#1824)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2023-10-31 14:27:44 +01:00
Takeshi Yoneda
546af90adb wazevo: adds 16 bytes to the new stack size (#1823)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-31 10:20:53 +09:00
Takeshi Yoneda
a4df8d32d9 fuzz: ignore out of fuel vs stack overflow diff (#1822)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-31 08:35:42 +09:00
Takeshi Yoneda
6f16354ec7 wazevo: refactors liveness analysis (#1821)
This refactors the liveness analysis and starts using the different algorithm,
which results in 30s -> 12s for Python binary compilation.

Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-31 08:12:17 +09:00
Edoardo Vacchi
695b49e94d wazevo: fuzz, fix i16x8.narrow_i32x4_u (#1820)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2023-10-29 08:02:08 +08:00
Edoardo Vacchi
a5d1b12385 wazevo: fuzz, fix load_splat with offset values > 12 bits (#1817)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2023-10-25 17:33:57 +02:00
Edoardo Vacchi
e3e5b9942d wazevo: fuzz, select does not return the correct value for vectors (#1814)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2023-10-25 17:32:25 +02:00
Val Packett
6e61e20252 filecache: use rename for an atomic write (#1816)
Signed-off-by: Val Packett <val@packett.cool>
2023-10-25 16:12:17 +08:00
Val Packett
99c057bcb5 compiler: add munmap finalizer on cache hits to avoid memory leak (#1815)
Signed-off-by: Val Packett <val@packett.cool>
2023-10-25 16:01:01 +08:00