vast
vast copied to clipboard
VAST is an experimental compiler pipeline designed for program analysis of C and C++. It provides a tower of IRs as MLIR dialects to choose the best fit representations for a program analysis or furth...
Adds lowering of `core::SelectOp`. Fixes some corner cases related to `void` "values" being returned.
### Prerequisites - [X] I have read the documentation and the proposed feature is not implemented. ### Description Currently conversion tests are an archaic mess with very random directory structue....
We want to emit ABI compatible low-level dialect. In clang, this is performed before lowering to LLVM. We want to give the same result when lowering from high-level in the...
Allow use of a typedef in an mlir document without defining it in that mlir document - how this means having some kind of underlying type mapping/sizing/something for it maybe...
Rethink `time_t` tracking, and just how "deep" down the stack we can reasonably keep it around or ensure that we know a given `i32` is actually a `time_t`.
Verify that `DeclRefOp` takes `!hl.lvalue` type.
Add API to get global references. Named references are not handled, yet. Fix `vast-query` to list users of global variables.
Verify that cast operation produce correct value categories. Add constraints (type-traits) on conversion of lvalues and non-lvalues. This will require decoupling of cast kinds to multiple operations.