Commit graph

240 commits

Author SHA1 Message Date
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 58c89bbbb6 Merge branch 'main' of github.com:cfallin/waffle 2023-02-23 18:40:49 -08:00
Chris Fallin 0d35c06ac6 WIP interpreter. 2023-02-23 18:40:25 -08:00
Chris Fallin 928c43b02c differential fuzzing: actually expand funcs 2023-02-22 12:29:31 -08:00
Chris Fallin e751174e9e Version 0.0.5. 2023-02-21 22:49:19 -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 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