Def use, dataflow, typechecking, structural verification, IR and DESIGN.md updates
1 unresolved thread
1 unresolved thread
- Add def use analysis, creates compact immutable def use map
- Add reverse postorder and dataflow analysis - computes a generic dataflow analysis over an arbitrary lattice
- Typecheck whole IR
- Verify IR structure (verify projections mostly)
- Add extractsum
- Update DESIGN.md
Merge request reports
Activity
requested review from @aaronjc4
assigned to @rarbore2
added 3 commits
-
7e268735...133a9c9c - 2 commits from branch
main
- 3801e703 - Merge branch 'main' into ir_dev
-
7e268735...133a9c9c - 2 commits from branch
- hercules_ir/src/dataflow.rs 0 → 100644
12 fn meet(a: &Self, b: &Self) -> Self; 13 fn bottom() -> Self; 14 fn top() -> Self; 15 } 16 17 /* 18 * Top level dataflow function. This routine is slightly more generic than the 19 * typical textbook definition. The flow function takes an ordered slice of 20 * predecessor lattice values, rather than a single lattice value. Thus, the 21 * flow function can perform non-associative and non-commutative operations on 22 * the "in" lattice values. This makes this routine more useful for some 23 * analyses, such as typechecking. To perform the typical behavior, the flow 24 * function should start by meeting the input lattice values into a single 25 * lattice value. 26 */ 27 pub fn dataflow<L, F>( changed this line in version 3 of the diff
mentioned in commit 774b58d3
Please register or sign in to reply