Commit Graph

383 Commits

Author SHA1 Message Date
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
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
Takeshi Yoneda
610fdbd664 wazevo(regalloc): deletes unnecessary kills info (#1813)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-23 17:38:28 +09:00
Edoardo Vacchi
1748dbcfe8 wazevo: fuzz, fix load_splat (#1810)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
Co-authored-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-23 09:17:37 +02:00
Takeshi Yoneda
95a240370c wazevo(regalloc): fixes the PHI value liverange (#1812)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-23 13:20:22 +09:00
Achille
f1812c3a1b wazevo: optimize regalloc virtual register collections (#1806)
Signed-off-by: Achille Roussel <achille.roussel@gmail.com>
Co-authored-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-20 10:07:14 +09:00
Achille
ff6039a41f wazevo: repesent regalloc kills with a bitset (#1804)
Signed-off-by: Achille Roussel <achille.roussel@gmail.com>
Co-authored-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-20 09:50:09 +09:00
Achille
d1fabfb8be wazevo: reduce memory footprint of regalloc kills (#1803)
Signed-off-by: Achille Roussel <achille.roussel@gmail.com>
2023-10-20 09:25:09 +09:00
Achille
4b6f8f7ccf wazevo: add VRegTable data structure (#1802)
Signed-off-by: Achille Roussel <achille.roussel@gmail.com>
2023-10-19 09:36:56 -07:00
Takeshi Yoneda
2084866060 wazevo(regalloc): removes map usage in real reg tracking (#1801)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-19 14:25:04 +09:00
Takeshi Yoneda
862c9722b6 wazevo(backend): makes VRegID continuous (#1800)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-19 14:12:58 +09:00
Takeshi Yoneda
86b8abecf4 wazevo(regalloc): removes map usage of phi tracking (#1799)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-19 13:18:59 +09:00
Takeshi Yoneda
06136049e5 wazevo(regalloc): simplifies live range management (#1798)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-19 11:37:51 +09:00
Edoardo Vacchi
9264104c0b wazevo: fuzz, fix simd shl, shr, shuffle, vbitselect (#1797) 2023-10-19 07:10:45 +09:00
Takeshi Yoneda
2ca59ecee8 wazevo: pass reset func to NewPool (#1796)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-18 16:09:54 +09:00
Takeshi Yoneda
75e5708375 wazevo: reduces map usages (#1795)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-18 15:02:16 +09:00
Takeshi Yoneda
372ec70fde wazevo(regalloc): refactors data structure on live ranges (#1794)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-18 14:22:33 +09:00
Edoardo Vacchi
583e8772ec wazevo: fuzz OpcodeVIcmp, OpcodeVFcmp, allTrue (#1793) 2023-10-18 07:09:36 +09:00
Edoardo Vacchi
a653c8a8f7 wazevo: add fuzz test cases (#1792)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2023-10-17 15:54:37 +09:00
Takeshi Yoneda
48327d90ba wazevo(regalloc): makes coloring faster (#1789)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-16 19:46:10 +09:00
Takeshi Yoneda
14bea4ffdb wazevo(regalloc): removes unnecessary validation pass (#1788)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-16 16:26:50 +09:00
Takeshi Yoneda
9dff143c57 wazevo(regalloc): reduces map usages (#1787)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-16 15:33:32 +09:00
Takeshi Yoneda
9f49955b82 wazevo(regalloc): reduces the complexity (#1785)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-16 13:07:00 +09:00
Takeshi Yoneda
7e1e1e4fd8 fuzz: ignores fuel in global match (#1784)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-16 09:06:48 +09:00
Takeshi Yoneda
44f23e2643 fuzz: allows compiler=stackoverflow,intp=unreachable (#1779)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-13 10:37:11 +09:00
Takeshi Yoneda
088424c7e5 wazevo(frontend): fixes br_table lowering not to share arg slice (#1777)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-13 09:11:05 +09:00
Takeshi Yoneda
a17ac488c4 wazevo: ensures passing all v1/v2 spectests (#1773)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-12 09:32:42 +09:00
Edoardo Vacchi
fd43b6be4c wazevo: passes simd_i16x8_q15mulr_sat_s spec test (#1772)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2023-10-12 09:00:21 +09:00
Takeshi Yoneda
c3f24bb0b6 wazevo: adds VZeroExtLoad for type safe SIMD zeros loads (#1771)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-11 09:26:45 +09:00
Edoardo Vacchi
e3d83bbc7a wazevo: passes simd load/store spec tests (#1766)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2023-10-11 08:18:07 +09:00
Takeshi Yoneda
fc8419346a wazevo(arm64): fixes 32bit shifted operand with const amount (#1770)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-10 10:38:17 +09:00
Takeshi Yoneda
991f4642c8 wazevo(arm64): mandates SSA type spec on tmp VReg (#1769)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-09 12:50:35 +09:00
Takeshi Yoneda
887574ff7d wazevo(arm64): fixes Rotl translation not to override rm (#1768)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-09 11:38:58 +09:00
Takeshi Yoneda
fc4f7235ff wazevo(arm64): fixes Fcopysign instruction order (#1767)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-09 10:00:06 +09:00
Takeshi Yoneda
bc1b368418 wazevo(arm64): support for zero imm lsl (#1764)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-06 13:40:12 +09:00
Takeshi Yoneda
ee91780e3d wazevo(ssa): eliminates no-op shifts by constant zeros (#1763)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-06 11:27:35 +09:00
Takeshi Yoneda
f2921d06f6 wazevo: adds support for Select on v128 values (#1762)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-06 10:09:09 +09:00
Edoardo Vacchi
de928cd9bf wazevo: passes simd extadd, extmul, dot, linking, int extend, splat spectests (#1761)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2023-10-06 08:53:45 +09:00
Edoardo Vacchi
4d208309cf wazevo: passes simd_lane spectests (#1739)
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
Co-authored-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-05 09:29:32 +02:00
Takeshi Yoneda
a2f9cd32b7 wazevo(arm64): do not optimize out Ireduce (#1760)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-05 15:20:35 +09:00
Takeshi Yoneda
35b1bfea31 wazevo: fixes memory leak (#1759)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-05 14:16:52 +09:00
Takeshi Yoneda
8a92c56ecb wazevo(arm64): fixes 64-bit div/rem zero div check (#1758)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-05 12:52:48 +09:00
Takeshi Yoneda
9d66077ee0 wazevo: completes the bulk memory and reference types spec (#1756)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-05 09:41:37 +09:00
Takeshi Yoneda
756ecc58e2 Simplifies wasm.ElementInstance struct (#1754)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-05 08:11:21 +09:00
Takeshi Yoneda
df4c4f2478 wazevo: passes table_fill spectest (#1753)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-04 18:15:25 +09:00
Takeshi Yoneda
02390b36c7 wazevo: implements memory.{copy,fill} and table.fill (#1752)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-04 16:20:46 +09:00
Takeshi Yoneda
f4324b17cd wazevo: passes ref_func spectest (#1751)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-04 08:16:22 +09:00
Takeshi Yoneda
c4d12c1720 wazevo: passes table.size spec test (#1750)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-03 16:28:55 +09:00
Takeshi Yoneda
ecf6f91e66 wazevo: passes table.{get,set}/ref_is_null tests (#1749)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-03 15:49:48 +09:00
Takeshi Yoneda
54c3f86fd9 wazevo: passes ref_null spec test (#1748)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2023-10-03 15:35:22 +09:00