Chris Fallin
0e0d3302f7
Bugfix: print tracepoints in IR.
2023-04-15 11:47:04 -07:00
Chris Fallin
9f6f0cfa9e
Interpreter: configurable trace hook.
2023-04-14 23:54:44 -07:00
Chris Fallin
73d8789242
Fix "already-compiled function" functionality: avoid mismatch in whether length field is included between CodeSection::raw() and function().
2023-04-13 19:59:38 -07:00
Chris Fallin
e4da0ca0e0
Support compilation of individual functions before serializing whole module, to keep memory usage down
2023-04-13 17:38:14 -07:00
Chris Fallin
dc177bfed3
Max-SSA: make cut-block set configurable.
2023-04-08 22:26:19 -07:00
Chris Fallin
9dde72e1a1
Include predecessors in CFGInfo.
2023-04-08 12:40:32 -07:00
Chris Fallin
1311069c6a
Add print-func command to waffle-util.
2023-04-01 00:00:48 -07:00
Chris Fallin
b198c653aa
Support for edge-splitting.
2023-03-24 15:57:37 -07:00
Chris Fallin
9f4310f729
Add some convenience bits to op_traits
, and export MemoryArg
.
2023-03-23 17:35:51 -07:00
Chris Fallin
ce333b3070
Rematerialize constants in backend codegen.
2023-03-01 17:23:09 -08:00
Chris Fallin
6508cc9078
Format.
2023-02-28 16:35:23 -08:00
Chris Fallin
1c0b2964af
Tweaks to API around function bodie.
2023-02-28 16:31:53 -08:00
Chris Fallin
2713240bd0
Remove Fuel -- no longer needed
2023-02-28 16:15:44 -08:00
Chris Fallin
610c9710d3
Support expanded but not modified (dirty) functions.
...
This allows using a function body as a source for a transform without
necessarily requiring a recompilation as well.
2023-02-28 16:11:31 -08:00
Chris Fallin
816ed81ac5
Add new remove_phis pass, and fix empty_blocks.
2023-02-27 23:11:16 -08:00
Chris Fallin
8145c6bca7
Bugfix to localify: properly handle workqueue dedup (actually remove from set when popping from queue)
2023-02-26 00:25:33 -08:00
Chris Fallin
ce09169375
bugfixes
2023-02-25 22:52:59 -08:00
Chris Fallin
b76e7758b7
WIP.
2023-02-25 17:29:17 -08:00
Chris Fallin
f18c624b9a
fuzzing: reject too-large memories
2023-02-25 17:12:02 -08:00
Chris Fallin
9c84c7d44d
Rewrite localifier (regalloc).
2023-02-25 17:02:14 -08:00
Chris Fallin
f81b5bfbe9
Fuel mechanism to help debug opts
2023-02-25 11:31:49 -08:00
Chris Fallin
9031e74abd
some tweaks to localify
2023-02-25 11:21:47 -08:00
Chris Fallin
63f5eca6a9
Add SSA validator to end of optimization pipeline.
2023-02-25 10:45:58 -08:00
Chris Fallin
958269be23
add missing fuzzing.rs
2023-02-24 22:07:35 -08:00
Chris Fallin
fb719ff0d0
fix opt_diff fuzzbugs
2023-02-24 22:01:33 -08:00
Chris Fallin
dc541497b2
fix overflow
2023-02-24 21:54:04 -08:00
Chris Fallin
ac2556a7ad
Fix opt_diff
2023-02-24 21:52:09 -08:00
Chris Fallin
2ff4d80286
Fuzzer: differential comparison of opt/no-opt
2023-02-24 21:28:40 -08:00
Chris Fallin
055193e926
Add tracing.
2023-02-24 14:40:37 -08:00
Chris Fallin
20ea31c9dd
Some refactoring for tracepoints
2023-02-24 12:48:28 -08:00
Chris Fallin
5c48a0a3ea
Merge branch 'main' of github.com:cfallin/waffle
2023-02-24 11:36:42 -08:00
Chris Fallin
6dbdefc858
Fix rounding in f32.nearest / f64.nearest
2023-02-24 11:36:38 -08:00
Chris Fallin
8600c1f472
Add some more WASI stubs
2023-02-23 20:53:22 -08:00
Chris Fallin
0f42e16446
Merge branch 'main' of github.com:cfallin/waffle
2023-02-23 20:50:11 -08:00
Chris Fallin
95b04005d4
fix min/max NaN behavior
2023-02-23 20:50:04 -08:00
Chris Fallin
870244f4ce
interp: make WASI impl compatible with SpiderMonkey.wasm
2023-02-23 20:37:15 -08:00
Chris Fallin
e73ce71519
fix saturating-conversion op bug in const prop
2023-02-23 19:48:09 -08:00
Chris Fallin
7614a382cc
fix const_eval for opts
2023-02-23 19:35:45 -08:00
Chris Fallin
d6dbc0e830
Fill in some missing FP ops in interpreter
2023-02-23 19:31:51 -08:00
Chris Fallin
c01e07977a
Separate out barebones WASI impl
2023-02-23 19:20:17 -08:00
Chris Fallin
49a907da25
Working interpreter
2023-02-23 19:16:08 -08:00
Chris Fallin
0d35c06ac6
WIP interpreter.
2023-02-23 18:40:25 -08:00
Chris Fallin
de5c990d18
Avoid empty_blocks
pass for now; seems problematic.
2023-02-21 22:48:19 -08:00
Chris Fallin
79b4e710c8
Avoid recursion in stackify
.
...
This commit rewrites `stackify` (Ramsey control-flow algorithm) with
explicit-stack control flow, using a state-machine stack, rather than
direct recursion. This avoids stack overflow for large function bodies.
2023-02-21 22:22:14 -08:00
Chris Fallin
0e2e5bf098
Make debuginfo parsing optional.
2023-02-16 16:20:54 -08:00
Philip Craig
5470e80851
DWARF addresses are relative to the start of the code section
...
This partially reverts the previous commit.
Also fix the logic in `DebugLocReader::get_loc`.
2023-02-15 15:40:27 +10:00
Chris Fallin
c999f995be
Working debug-locs
2023-02-14 20:38:52 -08:00
Chris Fallin
4bbeb84832
waffle-util: always expand all funcs
2023-02-14 19:24:03 -08:00
Chris Fallin
e23d19b03a
Remove code_offset
; relative to code section?
2023-02-13 18:15:38 -08:00
Chris Fallin
df19820693
Show srclocs
2023-02-13 18:10:34 -08:00