trailofbits / vast

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.
https://trailofbits.github.io/vast/
Apache License 2.0
368 stars 23 forks source link

Design MLIR interfaces for selected clang AST nodes. #643

Open lkorenc opened 5 days ago

lkorenc commented 5 days ago

Prerequisites

Description

To support clang static analyzer, we need to provide some APIs of the AST nodes. Proposed solution is to implement MLIR interface that expose methods needed by the static analyzer passes (and necessary utilities).

For each interface, the supported methods do not need to be exhaustive - we only want to lazily add things that are needed by the passes we care about.