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 further program abstraction.
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 low-level dialect. Lowering requires data layout modeling first.
Problems to solve:
[ ] implement mlir type transformation pass that will split types/merge types/promote to allocas according to ABI rules
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 low-level dialect. Lowering requires data layout modeling first.
Problems to solve: