Commit graph

300 commits

Author SHA1 Message Date
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 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 332c0c6f3c Merge branch 'main' of github.com:cfallin/waffle 2023-02-07 17:36:03 -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 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 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 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
Chris Fallin 1788a42aa1
regalloc fix: scan blocks bottom-up, not top-down! 2022-11-30 18:19:48 -08:00
Chris Fallin 38591d90a3
fix regalloc 2022-11-30 17:28:18 -08:00
Chris Fallin 75d4323c4d
Working single-pass regalloc. 2022-11-30 14:25:53 -08:00
Chris Fallin 1862a4c027
Merge branch 'main' of github.com:cfallin/waffle 2022-11-30 00:07:41 -08:00
Chris Fallin 92a7486bf3
regalloc bug: mark locals as used when value already has locals, e.g. for function param 2022-11-30 00:07:32 -08:00
Chris Fallin bc53233e0c rm old binaryen stuff 2022-11-29 22:38:37 -08:00
Chris Fallin 52db5b4a4e
Bugfix 2022-11-29 22:37:35 -08:00
Chris Fallin 50b83525e1
Analogous bugfix at another site. 2022-11-29 22:31:12 -08:00
Chris Fallin 7da027a51d
Bugfix in SSA construction. 2022-11-29 22:28:44 -08:00
Chris Fallin 0966fdf1e8
Reachability bugfix. 2022-11-29 21:39:29 -08:00
Chris Fallin 52013a7f46
Fix subtle interaction of treeifier-induced code motion and local (register) allocation. 2022-11-29 21:04:55 -08:00
Chris Fallin 3d102ac899
Bugfix: drop unused values. 2022-11-29 20:21:51 -08:00
Chris Fallin eafb4dc649
Bugfix: i64.eqz returns i32, not i64, in constprop pass. 2022-11-29 19:54:35 -08:00
Chris Fallin 8caba239fa
WIP. 2022-11-29 19:49:22 -08:00
Chris Fallin 4e3fb51aa9
WIP. 2022-11-29 18:40:57 -08:00
Chris Fallin 5a6177b613
WIP. 2022-11-29 18:03:33 -08:00
Chris Fallin 9ce0d259b4
WIP. 2022-11-29 17:32:38 -08:00
Chris Fallin 5ee73ea177
WIP. 2022-11-29 13:43:13 -08:00
Chris Fallin e5491528af
WIP. 2022-11-29 13:31:23 -08:00
Chris Fallin 232b34f66b
Better unreachability handling. 2022-11-29 13:22:04 -08:00
Chris Fallin 35ecc79136
WIP. 2022-11-29 10:51:50 -08:00
Chris Fallin 349032b1af
WIP. 2022-11-29 10:44:15 -08:00
Chris Fallin a053396e69
WIP. 2022-11-29 10:38:31 -08:00
Chris Fallin 6373cfd665
WIP. 2022-11-29 10:36:45 -08:00
Chris Fallin 6273e399de
WIP. 2022-11-29 10:33:06 -08:00
Chris Fallin 26e7c7a3af
Better error handling in fuzzing; skip on unsupported features 2022-11-29 10:05:43 -08:00
Chris Fallin 61105ea7fc WIP. 2022-11-29 02:45:07 -08:00
Chris Fallin e9d4fe89b1 WIP: almost-complete Wasm backend. 2022-11-29 02:30:37 -08:00
Chris Fallin 8744965705 WIP. 2022-11-29 01:44:19 -08:00
Chris Fallin d0ecd1238a WIP. 2022-11-29 00:58:55 -08:00
Chris Fallin 5859930639 WIP. 2022-11-29 00:27:38 -08:00
Chris Fallin a676310629 WIP. 2022-11-29 00:07:29 -08:00
Chris Fallin 3f8d424169 Debug output: show which function we are compiling 2022-11-28 22:27:21 -08:00
Chris Fallin 1892d62c76 Stackifier produces control flow for simple-interpreter test case. 2022-11-28 22:25:03 -08:00
Chris Fallin e6963b8d78 WIP. 2022-11-28 22:23:24 -08:00
Chris Fallin 3bde79a15d WIP. 2022-11-28 22:08:08 -08:00
Chris Fallin 539af66b88 WIP. 2022-11-28 21:55:58 -08:00
Chris Fallin 04ecdb16bd Stackify written (not tested). 2022-11-28 21:49:11 -08:00
Chris Fallin 1fbbbc9637 WIP. 2022-11-22 23:30:11 -08:00
Chris Fallin abc46f1d14 WIP. 2022-11-22 21:43:50 -08:00
Chris Fallin d954fa9fe6 WIP. 2022-11-22 19:20:36 -08:00
Chris Fallin 7b804b02d7
WIP. 2022-11-21 22:33:19 -08:00
Chris Fallin 9e5d2fae26
WIP. 2022-11-21 21:35:23 -08:00
Chris Fallin 15d45e1443
WIP. 2022-11-21 19:39:05 -08:00
Chris Fallin 32e5eb2570
WIP. 2022-11-21 18:09:58 -08:00
Chris Fallin 8a234ddccb
WIP. 2022-11-21 17:37:32 -08:00
Chris Fallin 2fc5440fa3
WIP. 2022-11-20 13:54:27 -08:00
Chris Fallin c2db0ad4b9
WIP. 2022-11-17 23:56:44 -08:00
Chris Fallin 91a2c11f67
WIP. 2022-11-10 22:19:08 -08:00
Chris Fallin 26244fbfbd
WIP. 2022-11-10 00:50:09 -08:00
Chris Fallin e53d801107
WIP. 2022-11-10 00:29:56 -08:00
Chris Fallin 003650281a WIP. 2022-11-09 11:45:47 -08:00
Chris Fallin 9ef4064853 WIP. 2022-11-03 10:59:24 -07:00
Chris Fallin 71bd0b399d WIP. 2022-11-03 10:57:56 -07:00
Chris Fallin 754492c860 WIP. 2022-11-03 01:23:33 -07:00
Chris Fallin 3ca0ca7f7a WIP. 2022-11-03 00:21:07 -07:00
Chris Fallin 2a47a77cdc WIP. 2022-11-03 00:20:58 -07:00
Chris Fallin 43bdb36952 WIP. 2022-11-02 23:32:23 -07:00
Chris Fallin e6c44bbf7d WIP. 2022-11-02 21:26:22 -07:00
Chris Fallin 3da33af7e2 WIP. 2022-11-02 21:03:37 -07:00
Chris Fallin e04a4113a2 WIP. 2022-11-02 21:03:02 -07:00
Chris Fallin 86454940af WIP. 2022-11-02 20:29:30 -07:00
Chris Fallin a73dacd5df WIP. 2022-11-02 19:46:15 -07:00
Chris Fallin 3dc1356669 WIP. 2022-11-02 18:18:33 -07:00
Chris Fallin a244d4ab52 WIP. 2022-11-02 14:07:07 -07:00
Chris Fallin 53f37a50fe WIP. 2022-11-02 13:44:35 -07:00
Chris Fallin 71a8d489ce WIP. 2022-11-02 12:38:45 -07:00
Chris Fallin d72ef25052 WIP. 2022-11-01 20:54:04 -07:00
Chris Fallin 3de1a8e00e WIP. 2022-11-01 20:51:18 -07:00
Chris Fallin a538d10167 big refactor 2022-11-01 20:43:47 -07:00
Chris Fallin 1da150823d WIP. 2022-11-01 02:26:21 -07:00
Chris Fallin 589729566f WIP. 2022-10-29 15:19:26 -07:00
Chris Fallin 676ee3a1d2 WIP. 2022-10-28 14:39:38 -07:00
Chris Fallin 8e8464f76a WIP. 2022-10-27 14:19:39 -07:00
Chris Fallin 1e26c0aaa4 WIP. 2022-10-26 22:15:15 -07:00
Chris Fallin 2214c1701b Remove wasm_encoder backend, and bring in binaryen bindings 2022-10-26 08:15:18 -07:00
Chris Fallin 648badb730 fuzzbug fix 2021-12-25 00:28:29 -08:00
Chris Fallin 5e3edc1de4 working roundtrip of hello world? 2021-12-24 23:02:20 -08:00
Chris Fallin 1b67d25efb fuzzbug fix 2021-12-24 22:17:51 -08:00
Chris Fallin 5031befe3b bugfix 2021-12-24 17:14:45 -08:00
Chris Fallin 5ac961607f fuzzbug fix 2021-12-24 17:13:23 -08:00
Chris Fallin e368f38716 fuzzbug fix on br_table fallthrough types 2021-12-24 16:10:53 -08:00
Chris Fallin 87c416cadf fuzzbug fix 2021-12-24 15:17:38 -08:00
Chris Fallin c0fd7e8fc8 fuzzbug fix 2021-12-24 14:57:14 -08:00
Chris Fallin d6c6c70965 fuzzbug fix 2021-12-24 14:50:23 -08:00
Chris Fallin 110fe11fa8 Add roundtrip-roundtrip fuzz target. 2021-12-24 14:29:32 -08:00
Chris Fallin d5342a0a6a WIP 2021-12-24 14:12:49 -08:00
Chris Fallin 415e1d63e3 Fix liveranges for loops 2021-12-24 14:07:09 -08:00
Chris Fallin f33aab4216 fuzzbug fix and more robust undef handling 2021-12-24 14:00:58 -08:00
Chris Fallin 63aa7e4cb6 working roundtrip for simple module 2021-12-24 13:20:30 -08:00
Chris Fallin 4585ec48be Final module emission (?) 2021-12-24 13:00:21 -08:00
Chris Fallin 88251ad7fb fuzzbug fix 2021-12-24 11:56:40 -08:00
Chris Fallin fd969d9089 fuzzbug fix 2021-12-24 11:49:48 -08:00
Chris Fallin 80f7fc8a6c fuzzbug fix 2021-12-24 11:42:02 -08:00
Chris Fallin 1bd6b25d34 fuzzbug fix 2021-12-24 00:57:30 -08:00
Chris Fallin 252088faed fuzzbug fix 2021-12-24 00:54:04 -08:00
Chris Fallin 8bd53719cf fuzzbug fix 2021-12-24 00:50:57 -08:00
Chris Fallin c7ba91b283 fuzzbug fix 2021-12-24 00:45:27 -08:00
Chris Fallin 45ba7dd209 fuzzbug fix 2021-12-24 00:38:51 -08:00
Chris Fallin 4cfff0275f fuzzbug fix 2021-12-24 00:35:18 -08:00
Chris Fallin f92ea9a556 WIP. 2021-12-24 00:28:44 -08:00
Chris Fallin 726b4da33d WIP. 2021-12-24 00:07:45 -08:00
Chris Fallin 635befa210 fuzzbug fixes 2021-12-23 20:34:50 -08:00
Chris Fallin 57693e592c cleanup and move code to backend/ 2021-12-23 20:05:36 -08:00
Chris Fallin 7735b522d4 fuzzbugs 2021-12-23 19:57:06 -08:00
Chris Fallin f49a7c6b6c WIP. 2021-12-23 18:23:42 -08:00
Chris Fallin b9c59fb5c0 WIP. 2021-12-19 14:47:40 -08:00
Chris Fallin 7c15340372 WIP. 2021-12-19 13:57:50 -08:00
Chris Fallin 3e67394ab1 WIP. 2021-12-19 11:45:13 -08:00
Chris Fallin 973ca3833a Fuzzbug fix 2021-12-17 21:15:28 -08:00
Chris Fallin 65e47c8a32 wasm region generation and target resolution 2021-12-17 01:07:37 -08:00
Chris Fallin 693c691b59 WIP. 2021-12-17 00:25:04 -08:00
Chris Fallin 7719d26177 Rewrote wasm region generation/stackifier from scratch starting from a loop-nest analysis 2021-12-15 23:21:24 -08:00
Chris Fallin 1ace8713ed fuzzbug fixes in stackifier 2021-12-15 20:04:06 -08:00
Chris Fallin 250e922498 fuzzbug fixes in stackifier 2021-12-15 19:15:08 -08:00
Chris Fallin ba80cea24b Fix fuzzbug 2021-12-15 19:02:14 -08:00
Chris Fallin e63bb7a113 Stackify bugfixes 2021-12-15 02:10:59 -08:00