-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
wip: hir refactoring #332
base: next
Are you sure you want to change the base?
wip: hir refactoring #332
Commits on Sep 16, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 1051624 - Browse repository at this point
Copy the full SHA 1051624View commit details
Commits on Sep 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 117dfcf - Browse repository at this point
Copy the full SHA 117dfcfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e48bb1 - Browse repository at this point
Copy the full SHA 3e48bb1View commit details
Commits on Sep 20, 2024
-
Configuration menu - View commit details
-
Copy full SHA for b8ee446 - Browse repository at this point
Copy the full SHA b8ee446View commit details
Commits on Sep 23, 2024
-
Configuration menu - View commit details
-
Copy full SHA for db1aca0 - Browse repository at this point
Copy the full SHA db1aca0View commit details
Commits on Oct 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 0057afc - Browse repository at this point
Copy the full SHA 0057afcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 95379c6 - Browse repository at this point
Copy the full SHA 95379c6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1146d98 - Browse repository at this point
Copy the full SHA 1146d98View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7e37cf1 - Browse repository at this point
Copy the full SHA 7e37cf1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 03cb6f5 - Browse repository at this point
Copy the full SHA 03cb6f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0800423 - Browse repository at this point
Copy the full SHA 0800423View commit details -
wip: improve ergonomics of entity refs, implement support for generic…
… grouped entity storage
Configuration menu - View commit details
-
Copy full SHA for 5ad94ac - Browse repository at this point
Copy the full SHA 5ad94acView commit details -
wip: implement key infrastructure for operations, patterns, builders
This commit moves away from `derive!` for operation definitions, to the new `#[operation]` macro, and implements a number of changes/improvements to the `Operation` type and its related APIs. In particular with this commit, the builder infrastructure for operations was finalized and started to be tested with "real" ops. Validation was further improved by typing operands with type constraints that are validated when an op is verified. The handling of successors, operands, and results was improved and unified around a shared abstraction. The pattern and pattern rewriter infrastructure was sketched out as well, and I anticipate landing those next, along with tests for all of it. Once patterns are done, the next two items of note are the data analysis framework, and the conversion framework. With those done, we're ready to move to the new IR.
Configuration menu - View commit details
-
Copy full SHA for 9238669 - Browse repository at this point
Copy the full SHA 9238669View commit details
Commits on Oct 5, 2024
-
Configuration menu - View commit details
-
Copy full SHA for edf8a04 - Browse repository at this point
Copy the full SHA edf8a04View commit details
Commits on Oct 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for e839791 - Browse repository at this point
Copy the full SHA e839791View commit details
Commits on Oct 20, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 07cf501 - Browse repository at this point
Copy the full SHA 07cf501View commit details -
wip: promote attributes to top level, add ability to clone and hash t…
…ype-erased attribute values
Configuration menu - View commit details
-
Copy full SHA for c56be9b - Browse repository at this point
Copy the full SHA c56be9bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 54ccab6 - Browse repository at this point
Copy the full SHA 54ccab6View commit details -
wip: implement region/non-region branch op interfaces, region simplif…
…ication, rework visitors, and implement low-level pattern matchers
Configuration menu - View commit details
-
Copy full SHA for de12ced - Browse repository at this point
Copy the full SHA de12cedView commit details -
Configuration menu - View commit details
-
Copy full SHA for 72c4f12 - Browse repository at this point
Copy the full SHA 72c4f12View commit details -
Configuration menu - View commit details
-
Copy full SHA for b69c4ec - Browse repository at this point
Copy the full SHA b69c4ecView commit details -
Configuration menu - View commit details
-
Copy full SHA for 05e1100 - Browse repository at this point
Copy the full SHA 05e1100View commit details -
Configuration menu - View commit details
-
Copy full SHA for f7aedcb - Browse repository at this point
Copy the full SHA f7aedcbView commit details
Commits on Oct 25, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 05c3036 - Browse repository at this point
Copy the full SHA 05c3036View commit details
Commits on Oct 28, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 9c86f86 - Browse repository at this point
Copy the full SHA 9c86f86View commit details -
Configuration menu - View commit details
-
Copy full SHA for f7f89f4 - Browse repository at this point
Copy the full SHA f7f89f4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0aa10e5 - Browse repository at this point
Copy the full SHA 0aa10e5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c32fc6 - Browse repository at this point
Copy the full SHA 8c32fc6View commit details -
feat: implement cfg abstractions and utilities
This commit adds the following useful tools (used in later commits): * The `Graph` trait for abstracting over flow graphs * The `GraphVisitor` and `DfsVisitor` primitives for performing and hooking into depth-first traversals of a `Graph` in either pre-order or post-order, or both. * Type aliases for pre- and post-order dfs visitors for blocks * The `GraphDiff` trait and `CfgDiff` data structure for representing pending insertions/deletions in a flow graph. This enables incremental updating of flow graph dependent analyses such as the dominator tree.
Configuration menu - View commit details
-
Copy full SHA for 3ffd2c4 - Browse repository at this point
Copy the full SHA 3ffd2c4View commit details -
feat: implement dominator and post-dominator analyses
This introduces the incrementally updateable dominator and post-dominator analyses from LLVM, based on the Semi-NCA algorithm. This enables us to keep the (post-)dominator tree analysis up to date during rewriting of the IR, without needing to recompute it from scratch each time. This is an initial port of the original C++ code, modified to be more Rust-like, while still remaining quite close to the original. This could be easily cleaned up/rewritten in the future to be more idiomatic Rust, but for now it should suffice.
Configuration menu - View commit details
-
Copy full SHA for 64a0be3 - Browse repository at this point
Copy the full SHA 64a0be3View commit details -
This commit implements the generic loop analysis from LLVM, in Rust. It is a more sophisticated analysis than the one in HIR1, and provides us with some additional useful information that will come in handy during certain transformations to MASM. See the "Loop Terminlogy" document on llvm.org for details on how LLVM reasons about loops, which corresponds to the analysis above.
Configuration menu - View commit details
-
Copy full SHA for 9e9dfe8 - Browse repository at this point
Copy the full SHA 9e9dfe8View commit details