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

Find better solution for marking function aliases as definitions #638

Open Jezurko opened 6 days ago

Jezurko commented 6 days ago

Prerequisites

Description

The current implement of isDeclaration() in core dialect is quite wonky, as it looks for a hl.alias named attribute, to detect that a function is an alias. This breaks the abstraction of core::FuncBaseOp being a generic function operation base (although so far no other dialect has an attribute for function aliasing).