MLIREnzymeAnalysis fails to build against current MLIR (getSuccessorInputs removed)
enzyme/Enzyme/MLIR/Analysis/ActivityAnalysis.cpp calls
RegionBranchOpInterface::getSuccessorInputs and
RegionBranchTerminatorOpInterface in a way that no longer compiles
against MLIR main (and LLVM/MLIR 22). Both APIs were changed as part of
the region branch interface refactor upstream.
Error
ActivityAnalysis.cpp:1169:28: error: 'class mlir::RegionBranchOpInterface'
has no member named 'getSuccessorInputs'; did you mean 'getSuccessorRegions'?
ActivityAnalysis.cpp:1284:37: error: no match for call to
'(...lambda...)(mlir::Operation*&, mlir::RegionBranchTerminatorOpInterface,
std::deque<mlir::Block*>&)'
note: no known conversion for argument 2 from
'mlir::RegionBranchTerminatorOpInterface' to 'mlir::RegionBranchPoint'
Impact
MLIREnzymeAnalysis is a transitive dependency of MLIREnzymeTransforms
and enzymemlir-opt, so the entire MLIR test suite (test/MLIR/) is
currently broken on main.
Relevant upstream change
getSuccessorInputs was removed and RegionBranchTerminatorOpInterface
was replaced by RegionBranchPoint in the MLIR region branch interface
refactor. The fix likely involves updating the two call sites in
ActivityAnalysis.cpp to use the new API.
MLIREnzymeAnalysisfails to build against current MLIR (getSuccessorInputsremoved)enzyme/Enzyme/MLIR/Analysis/ActivityAnalysis.cppcallsRegionBranchOpInterface::getSuccessorInputsandRegionBranchTerminatorOpInterfacein a way that no longer compilesagainst MLIR main (and LLVM/MLIR 22). Both APIs were changed as part of
the region branch interface refactor upstream.
Error
Impact
MLIREnzymeAnalysisis a transitive dependency ofMLIREnzymeTransformsand
enzymemlir-opt, so the entire MLIR test suite (test/MLIR/) iscurrently broken on main.
Relevant upstream change
getSuccessorInputswas removed andRegionBranchTerminatorOpInterfacewas replaced by
RegionBranchPointin the MLIR region branch interfacerefactor. The fix likely involves updating the two call sites in
ActivityAnalysis.cppto use the new API.