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
7d8017cf44
Bump version, and remove outdated gimli patch.
2023-02-16 16:21:23 -08:00
Chris Fallin
0e2e5bf098
Make debuginfo parsing optional.
2023-02-16 16:20:54 -08:00
Chris Fallin
d7c5dc934b
Merge pull request #1 from philipc/debug-loc
...
DWARF addresses are relative to the start of the code section
2023-02-14 22:27:19 -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
Chris Fallin
cfc758900d
WIP.
2023-02-13 17:42:43 -08:00
Chris Fallin
ebfd4209fe
WIP.
2023-02-13 17:02:25 -08:00
Chris Fallin
b24ca8de43
Merge branch 'addr2line'
2023-02-13 16:17:57 -08:00
Chris Fallin
19392d05b0
Add debug-loc info
2023-02-13 16:17:17 -08:00
Chris Fallin
aac46663f0
Sort debuginfo tuples by starting address, and detect overlapping ranges
2023-02-13 14:30:25 -08:00
Chris Fallin
19fc22d3a3
Use patched version of gimli
2023-02-13 14:24:33 -08:00
Chris Fallin
508620289f
More descriptive logging to help diagnose irreducible control flow
2023-02-12 17:32:06 -08:00
Chris Fallin
ec2a999359
Add block names to irreducible-control-flow error
2023-02-12 13:53:03 -08:00
Chris Fallin
f17164f56f
Add descriptive-name field to blocks.
2023-02-12 13:50:58 -08:00
Chris Fallin
0e958f5a4b
Fix debuginfo parsing: actually supply all needed sections to addr2line.
2023-02-12 11:37:52 -08:00
Chris Fallin
75a6f9a8ce
Add missing ir/debug.rs.
2023-02-10 21:04:01 -08:00
Chris Fallin
ceaa8acac6
Add addr2line usage to attempt to get source-loc information
2023-02-10 20:55:45 -08:00
Chris Fallin
8d0dc93930
Add support for roundtripping function names.
2023-02-07 18:48:11 -08:00
Chris Fallin
6f3d04d2b5
Version 0.0.3.
2023-02-07 17:36:23 -08:00
Chris Fallin
332c0c6f3c
Merge branch 'main' of github.com:cfallin/waffle
2023-02-07 17:36:03 -08:00
Chris Fallin
8f75137f0f
Version 0.0.2.
2023-02-07 17:31:59 -08:00
Chris Fallin
2d7e02deb0
Fix waffle-util build.
2023-02-07 17:31:52 -08:00
Chris Fallin
fd748dd493
misc API updates
2023-02-07 15:54:24 -08:00
Chris Fallin
eaa1f76ba0
Fix lazy-func expansion error in borrow-avoidance strategy
2023-02-07 14:57:17 -08:00
Chris Fallin
5b4279f517
Lazy function parsing and recompilation when roundtripping
2023-02-07 14:34:59 -08:00
Chris Fallin
c908463ee1
Add remove-empty-blocks pass.
2023-02-07 12:44:00 -08:00
Chris Fallin
56fa6308b4
Version 0.0.2.
2023-02-02 20:45:13 -08:00
Chris Fallin
32a6cd2c00
cargo-fmt.
2023-02-02 20:45:13 -08:00
Chris Fallin
b35e0837a4
Refactor Module
interface to expose tables directly.
2023-02-02 13:58:50 -08:00
Chris Fallin
b76ffd59cf
README update.
2022-12-03 18:10:59 -08:00
Chris Fallin
e83570db22
Merge branch 'main' of github.com:cfallin/waffle
2022-12-03 18:09:52 -08:00
Chris Fallin
77e053acfb
README update.
2022-12-03 18:09:34 -08:00
Chris Fallin
b6ce3abc1d
Add maximal-SSA mode.
2022-12-02 11:58:04 -08:00
Chris Fallin
5bdb4a1737
WIP.
2022-12-01 23:16:21 -08:00
Chris Fallin
4140ed9ea6
WIP.
2022-12-01 20:36:28 -08:00
Chris Fallin
77141d2177
Validator.
2022-12-01 19:56:27 -08:00
Chris Fallin
510f833da2
No RPO pass; put RPO functionality in CFGInfo.
2022-12-01 18:57:00 -08:00
Chris Fallin
7a3e9ce2e3
Fix reachability bug for default target of br_table.
2022-12-01 12:38:48 -08:00
Chris Fallin
f83420bbf7
Parallelize with rayon
2022-12-01 10:02:42 -08:00
Chris Fallin
ae091d5319
Bugfix: block start point is at start of block, not end.
2022-12-01 00:22:07 -08:00
Chris Fallin
9730254c41
Add predicate script for wasm-tools shrink
and similar reduction tools.
2022-11-30 23:56:58 -08:00
Chris Fallin
4b40e52c28
Fix regalloc issue
2022-11-30 23:36:00 -08:00
Chris Fallin
284be86cd4
Bugfix in reachability and local resolution
2022-11-30 22:17:28 -08:00
Chris Fallin
84e16a57da
Log which function is being compiled in backend.
2022-11-30 21:11:19 -08:00
Chris Fallin
4c90c8a4a8
regalloc bugfix
2022-11-30 19:02:15 -08:00