Convenience classes for a frequent pattern of dataflow analysis used in LLZK, where an analysis is run across all StructDefOps contained within a module, where each of those analyses may need to reference the analysis results from other StructDefOps
This file contains an analysis and utilities for determining if a verif precondition is dependent, via control-flow or data-flow, on forbidden sources (i.e., struct members or function return values)
Provides SpecializedSROA<AllocOpTy> and SpecializedMem2Reg<AllocOpTy>: pass templates that replicate the bodies of the MLIR sroa and mem2reg passes but restrict the allocation-op walk to a single concrete op type rather than collecting every op that implements the corresponding allocation interface
This is a selection of code from mlir/lib/IR/SymbolTable.cpp to support a modified version of walkSymbolRefs() so the "symbol use" functions will also consider symbols used within the operand and result types of Ops