7724dc6f5aMerge pull request #10 from cfallin/cargo-deny-config
Chris Fallin
2021-09-06 20:01:12 -07:00
8191d6cbcfAdd cargo-deny config.
Chris Fallin
2021-09-03 09:04:20 -07:00
57ccaefa04Merge pull request #1 from cfallin/initial-regalloc
Chris Fallin
2021-08-31 18:19:59 -07:00
6f0893d69dAddress review comments.
Chris Fallin
2021-08-31 17:56:06 -07:00
6389071e09Address review comments.
Chris Fallin
2021-08-31 17:42:50 -07:00
b19fa4857fRename operand positions to Early and Late, and make weights f16/f32 values.
Chris Fallin
2021-08-31 17:31:23 -07:00
3a18564e98Addressed more review comments.
Chris Fallin
2021-08-30 17:51:55 -07:00
6d313f2b56Address review comments: more doc comments and some minor refactorings.
Chris Fallin
2021-08-30 17:15:37 -07:00
e10bffbca8Fix bug in refactored BitVec (found by @Amanieu).
Chris Fallin
2021-08-14 13:40:43 -07:00
69ad31f013Replace remaining instances of use of debug feature with debug_assertions.
Chris Fallin
2021-08-12 17:35:55 -07:00
8ed83e3a57Fix BitVec::get_or_insert to scan only once.
Chris Fallin
2021-08-12 15:40:34 -07:00
f1a989f1b7Add malloc/free optimization to TODO
Chris Fallin
2021-08-12 14:53:53 -07:00
ffc06b2099Debug output for Operands: omit default/most common positions.
Chris Fallin
2021-08-12 14:49:42 -07:00
c071e44fc0Derive PartialOrd/Ord/Hash for Operand.
Chris Fallin
2021-08-12 14:43:13 -07:00
eaf8647fdfBitVec: remove zero words to avoid expanding when unnecessary.
Chris Fallin
2021-08-12 14:40:18 -07:00
82b7e6ba7bReview feedback: bitvec: struct-like enum variants, and factor out one-item cache.
Chris Fallin
2021-08-12 14:33:35 -07:00
7652b4b109Review feedback.
Chris Fallin
2021-08-12 14:27:20 -07:00
2f856435f4Review feedback.
Chris Fallin
2021-08-12 14:08:10 -07:00
b76b7747d0Fix comment in postorder.rs.
Chris Fallin
2021-08-12 14:00:20 -07:00
1f30958b5aImprove domtree as per @Amanieu's feedback.
Chris Fallin
2021-08-12 12:13:56 -07:00
3e1e0f39b6Convert all log::debug to log::trace.
Chris Fallin
2021-08-12 12:05:19 -07:00
38323e0c27Some more design-doc and TODO updates from @julian-seward1's feedback.
Chris Fallin
2021-08-12 11:39:38 -07:00
0c795842fdAdd some more detail about spill bundles to design doc.
Chris Fallin
2021-08-12 11:26:45 -07:00
a591535fe9Use "vector" or "sequence" in lieu of "list" in DESIGN.md, except when referring to linked lists.
Chris Fallin
2021-08-12 11:23:44 -07:00
84285c26fbRename OperandPolicy to OperandConstraint as per feedback from @julian-seward1.
Chris Fallin
2021-08-12 11:17:52 -07:00
c9e8a87ceaUpdate TODO with new items from private feedback from @julian-seward1.
Chris Fallin
2021-08-12 11:17:37 -07:00
4c193a9499Fix heuristic-cost function overflow with high loop depth (found by @Amanieu).
Chris Fallin
2021-07-28 12:37:32 -07:00
66d6821c7bFix perf issue with many safepoints.
Chris Fallin
2021-06-22 14:06:59 -07:00
f27abc9c48Remove infinite-loop check: it is not a high enough bound in some pathological cases (e.g., gc::many_live_refs test in wasmtime), and it has served its purpose in testing. We can rely on more detailed assertions, e.g. that splits actually shrink bundles and that bundles evict only lower-priority bundles, instead.
Chris Fallin
2021-06-22 12:06:12 -07:00
245c212289Revert "Add fixed-non-allocatable operand support."
Chris Fallin
2021-06-20 23:03:44 -07:00
21fb233809reduce nesting level in DESIGN.md to make pandoc-to-pdf happy
Chris Fallin
2021-06-19 13:41:26 -07:00
a58d36fd94TODO update: make note on idea for large-input support
Chris Fallin
2021-06-19 13:20:11 -07:00
22eed0a6aeMake bitvec public; it is used by regalloc.rs shim too.
Chris Fallin
2021-06-19 12:47:02 -07:00
736f636c36Add fixed-non-allocatable operand support.
Chris Fallin
2021-06-19 12:17:18 -07:00
50eb6fc42fKeep internal modules private, but re-export under fuzzing feature flag
Chris Fallin
2021-06-19 12:08:37 -07:00
caf7274efdRemove unused pred_pos
Chris Fallin
2021-06-19 11:48:54 -07:00
36975b8b6fAdd doc-comment note on Edit that stack-to-stack moves are never generated.
Chris Fallin
2021-06-19 11:34:05 -07:00
b36a563d69Cleanup: split allocator implemntation into 11 files of more reasonable size.
Chris Fallin
2021-06-18 16:51:08 -07:00
6944bc4735Fix typo (thanks @bjorn3).
Chris Fallin
2021-06-18 15:24:11 -07:00
6ec6207717Add design document.
Chris Fallin
2021-06-18 13:59:12 -07:00
a686d5a513Always recompute prio when recomputing bundle properties; otherwise is zero on new bundles and causes spill weight to be zeroed
Chris Fallin
2021-06-11 13:21:50 -07:00
ea814225a2Update TODO list
Chris Fallin
2021-06-10 23:34:18 -07:00
1bd1248cb5Avoid stack-to-stack moves by allocating an extra spillslot and re-using the scratch reg instead.
Chris Fallin
2021-06-10 22:36:02 -07:00
09b2dd4e73TODO list update
Chris Fallin
2021-06-10 17:34:04 -07:00
fcbf384d74Use hashset to avoid linear scan in conflict-bundle-set deduplication
Chris Fallin
2021-06-09 23:53:54 -07:00
4ba7b2f57eImprove redundant-move elimination: don't skip the case where we don't hvae vreg metadata within a BB. Instead, keep the checker happy by feeding more metadata to it on every move.
Chris Fallin
2021-06-09 23:29:48 -07:00
2851ac80c7Working redundant-move elimination
Chris Fallin
2021-06-09 23:03:16 -07:00
f898b8dcbdSome fuzzbug fixes
Chris Fallin
2021-06-09 20:58:54 -07:00
e33790d8e7do not remove redundant move if we don't have local (within-basic-block) vreg tags, as this might throw off the checker
Chris Fallin
2021-06-08 01:30:29 -07:00
0f270e5bccWIP.
Chris Fallin
2021-06-08 01:14:10 -07:00