[Mlir-commits] [mlir] [mlir][reducer] Add eraseRedundantBlocksInRegion and getSuccessorForwardOperands API to BranchOpInterface (PR #187864)

LLVM Continuous Integration llvmlistbot at llvm.org
Sat Mar 28 00:28:07 PDT 2026


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `amdgpu-offload-ubuntu-22-cmake-build-only` running on `rocm-docker-ubu-22` while building `mlir` at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/203/builds/41831

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py --jobs=32' (failure)
...
[5235/8530] Creating library symlink lib/libMLIRMathToAPFloat.so
[5236/8530] Linking CXX shared library lib/libMLIRComplexToLibm.so.23.0git
[5237/8530] Linking CXX shared library lib/libMLIRComplexToROCDLLibraryCalls.so.23.0git
[5238/8530] Creating library symlink lib/libMLIRComplexToLibm.so
[5239/8530] Creating library symlink lib/libMLIRComplexToROCDLLibraryCalls.so
[5240/8530] Linking CXX shared library lib/libMLIRFuncToEmitC.so.23.0git
[5241/8530] Creating library symlink lib/libMLIRFuncToEmitC.so
[5242/8530] Linking CXX shared library lib/libMLIRMathToEmitC.so.23.0git
[5243/8530] Creating library symlink lib/libMLIRMathToEmitC.so
[5244/8530] Linking CXX shared library lib/libMLIRReduce.so.23.0git
FAILED: lib/libMLIRReduce.so.23.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRReduce.so.23.0git -o lib/libMLIRReduce.so.23.0git tools/mlir/lib/Reducer/CMakeFiles/obj.MLIRReduce.dir/OptReductionPass.cpp.o tools/mlir/lib/Reducer/CMakeFiles/obj.MLIRReduce.dir/ReductionNode.cpp.o tools/mlir/lib/Reducer/CMakeFiles/obj.MLIRReduce.dir/ReductionTreePass.cpp.o tools/mlir/lib/Reducer/CMakeFiles/obj.MLIRReduce.dir/Tester.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libMLIRTransformUtils.so.23.0git  lib/libMLIRRewrite.so.23.0git  lib/libMLIRRewritePDL.so.23.0git  lib/libMLIRPDLToPDLInterp.so.23.0git  lib/libMLIRPass.so.23.0git  lib/libMLIRPDLInterpDialect.so.23.0git  lib/libMLIRPDLDialect.so.23.0git  lib/libMLIRSubsetOpInterface.so.23.0git  lib/libMLIRValueBoundsOpInterface.so.23.0git  lib/libMLIRAnalysis.so.23.0git  lib/libMLIRSideEffectInterfaces.so.23.0git  lib/libMLIRLoopLikeInterface.so.23.0git  lib/libMLIRControlFlowInterfaces.so.23.0git  lib/libMLIRFunctionInterfaces.so.23.0git  lib/libMLIRCallInterfaces.so.23.0git  lib/libMLIRDataLayoutInterfaces.so.23.0git  lib/libMLIRInferStridedMetadataInterface.so.23.0git  lib/libMLIRInferIntRangeInterface.so.23.0git  lib/libMLIRInferTypeOpInterface.so.23.0git  lib/libMLIRPresburger.so.23.0git  lib/libMLIRViewLikeInterface.so.23.0git  lib/libMLIRDestinationStyleOpInterface.so.23.0git  lib/libMLIRIR.so.23.0git  lib/libMLIRSupport.so.23.0git  lib/libLLVMSupport.so.23.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib && :
/usr/bin/ld: tools/mlir/lib/Reducer/CMakeFiles/obj.MLIRReduce.dir/ReductionTreePass.cpp.o: in function `eraseRedundantBlocksInRegion(mlir::ModuleOp, mlir::Region&, mlir::Tester const&)':
ReductionTreePass.cpp:(.text._ZL28eraseRedundantBlocksInRegionN4mlir8ModuleOpERNS_6RegionERKNS_6TesterE+0x2bf): undefined reference to `mlir::cf::BranchOp::getCanonicalizationPatterns(mlir::RewritePatternSet&, mlir::MLIRContext*)'
/usr/bin/ld: ReductionTreePass.cpp:(.text._ZL28eraseRedundantBlocksInRegionN4mlir8ModuleOpERNS_6RegionERKNS_6TesterE+0x2ca): undefined reference to `mlir::cf::CondBranchOp::getCanonicalizationPatterns(mlir::RewritePatternSet&, mlir::MLIRContext*)'
/usr/bin/ld: ReductionTreePass.cpp:(.text._ZL28eraseRedundantBlocksInRegionN4mlir8ModuleOpERNS_6RegionERKNS_6TesterE+0x2d5): undefined reference to `mlir::cf::SwitchOp::getCanonicalizationPatterns(mlir::RewritePatternSet&, mlir::MLIRContext*)'
/usr/bin/ld: ReductionTreePass.cpp:(.text._ZL28eraseRedundantBlocksInRegionN4mlir8ModuleOpERNS_6RegionERKNS_6TesterE+0xa6a): undefined reference to `mlir::cf::BranchOp::create(mlir::OpBuilder&, mlir::Location, mlir::Block*, mlir::ValueRange)'
/usr/bin/ld: ReductionTreePass.cpp:(.text._ZL28eraseRedundantBlocksInRegionN4mlir8ModuleOpERNS_6RegionERKNS_6TesterE+0xe84): undefined reference to `mlir::cf::BranchOp::create(mlir::OpBuilder&, mlir::Location, mlir::Block*, mlir::ValueRange)'
collect2: error: ld returned 1 exit status
[5245/8530] Linking CXX shared library lib/libMLIRSCFDialect.so.23.0git
[5246/8530] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRImport.dir/ModuleImport.cpp.o
[5247/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIEmitC.dir/EmitC.cpp.o
[5248/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIComplex.dir/Complex.cpp.o
[5249/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIArmSME.dir/ArmSME.cpp.o
[5250/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIMLProgram.dir/MLProgram.cpp.o
[5251/8530] Building CXX object tools/mlir/test/lib/Dialect/Affine/CMakeFiles/MLIRAffineTransformsTestPasses.dir/TestReifyValueBounds.cpp.o
[5252/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIGPU.dir/GPU.cpp.o
[5253/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIMLProgram.dir/MLProgramPasses.cpp.o
[5254/8530] Building CXX object tools/mlir/lib/Target/SPIRV/Serialization/CMakeFiles/obj.MLIRSPIRVSerialization.dir/SerializeOps.cpp.o
[5255/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIMath.dir/Math.cpp.o
[5256/8530] Building CXX object tools/mlir/lib/Target/LLVM/CMakeFiles/obj.MLIRTargetLLVM.dir/ModuleToObject.cpp.o
[5257/8530] Building CXX object tools/mlir/lib/Target/LLVMIR/Dialect/NVVM/CMakeFiles/obj.MLIRLLVMIRToNVVMTranslation.dir/LLVMIRToNVVMTranslation.cpp.o
[5258/8530] Building CXX object tools/mlir/lib/Target/LLVM/CMakeFiles/obj.MLIRXeVMTarget.dir/XeVM/Target.cpp.o
/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/llvm-project/mlir/lib/Target/LLVM/XeVM/Target.cpp:415:1: warning: ‘std::optional<std::__cxx11::basic_string<char> > {anonymous}::SPIRVSerializer::translateToSPIRVBinary(llvm::Module&, llvm::TargetMachine&)’ defined but not used [-Wunused-function]
  415 | SPIRVSerializer::translateToSPIRVBinary(llvm::Module &llvmModule,
      | ^~~~~~~~~~~~~~~
[5259/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIGPU.dir/GPUPasses.cpp.o
[5260/8530] Building CXX object tools/mlir/lib/Target/LLVM/CMakeFiles/obj.MLIRROCDLTarget.dir/ROCDL/Utils.cpp.o
[5261/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPILinalg.dir/Linalg.cpp.o
[5262/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIOpenACC.dir/OpenACC.cpp.o
[5263/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPILLVM.dir/LLVM.cpp.o
[5264/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIOpenACC.dir/OpenACCPasses.cpp.o
[5265/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPILinalg.dir/LinalgPasses.cpp.o
[5266/8530] Building CXX object tools/mlir/lib/Target/LLVMIR/Dialect/LLVMIR/CMakeFiles/obj.MLIRLLVMToLLVMIRTranslation.dir/LLVMToLLVMIRTranslation.cpp.o
[5267/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIOpenMP.dir/OpenMP.cpp.o
[5268/8530] Building CXX object tools/mlir/lib/ExecutionEngine/CMakeFiles/MLIRJitRunner.dir/JitRunner.cpp.o
[5269/8530] Building CXX object tools/mlir/lib/Target/LLVMIR/Dialect/NVVM/CMakeFiles/obj.MLIRNVVMToLLVMIRTranslation.dir/NVVMToLLVMIRTranslation.cpp.o
[5270/8530] Building CXX object tools/mlir/lib/Target/LLVMIR/Dialect/ROCDL/CMakeFiles/obj.MLIRROCDLToLLVMIRTranslation.dir/ROCDLToLLVMIRTranslation.cpp.o
[5271/8530] Building CXX object tools/mlir/lib/Dialect/LLVMIR/CMakeFiles/obj.MLIRNVVMDialect.dir/IR/NVVMDialect.cpp.o
Step 7 (build cmake config) failure: build cmake config (failure)
...
[5235/8530] Creating library symlink lib/libMLIRMathToAPFloat.so
[5236/8530] Linking CXX shared library lib/libMLIRComplexToLibm.so.23.0git
[5237/8530] Linking CXX shared library lib/libMLIRComplexToROCDLLibraryCalls.so.23.0git
[5238/8530] Creating library symlink lib/libMLIRComplexToLibm.so
[5239/8530] Creating library symlink lib/libMLIRComplexToROCDLLibraryCalls.so
[5240/8530] Linking CXX shared library lib/libMLIRFuncToEmitC.so.23.0git
[5241/8530] Creating library symlink lib/libMLIRFuncToEmitC.so
[5242/8530] Linking CXX shared library lib/libMLIRMathToEmitC.so.23.0git
[5243/8530] Creating library symlink lib/libMLIRMathToEmitC.so
[5244/8530] Linking CXX shared library lib/libMLIRReduce.so.23.0git
FAILED: lib/libMLIRReduce.so.23.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRReduce.so.23.0git -o lib/libMLIRReduce.so.23.0git tools/mlir/lib/Reducer/CMakeFiles/obj.MLIRReduce.dir/OptReductionPass.cpp.o tools/mlir/lib/Reducer/CMakeFiles/obj.MLIRReduce.dir/ReductionNode.cpp.o tools/mlir/lib/Reducer/CMakeFiles/obj.MLIRReduce.dir/ReductionTreePass.cpp.o tools/mlir/lib/Reducer/CMakeFiles/obj.MLIRReduce.dir/Tester.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libMLIRTransformUtils.so.23.0git  lib/libMLIRRewrite.so.23.0git  lib/libMLIRRewritePDL.so.23.0git  lib/libMLIRPDLToPDLInterp.so.23.0git  lib/libMLIRPass.so.23.0git  lib/libMLIRPDLInterpDialect.so.23.0git  lib/libMLIRPDLDialect.so.23.0git  lib/libMLIRSubsetOpInterface.so.23.0git  lib/libMLIRValueBoundsOpInterface.so.23.0git  lib/libMLIRAnalysis.so.23.0git  lib/libMLIRSideEffectInterfaces.so.23.0git  lib/libMLIRLoopLikeInterface.so.23.0git  lib/libMLIRControlFlowInterfaces.so.23.0git  lib/libMLIRFunctionInterfaces.so.23.0git  lib/libMLIRCallInterfaces.so.23.0git  lib/libMLIRDataLayoutInterfaces.so.23.0git  lib/libMLIRInferStridedMetadataInterface.so.23.0git  lib/libMLIRInferIntRangeInterface.so.23.0git  lib/libMLIRInferTypeOpInterface.so.23.0git  lib/libMLIRPresburger.so.23.0git  lib/libMLIRViewLikeInterface.so.23.0git  lib/libMLIRDestinationStyleOpInterface.so.23.0git  lib/libMLIRIR.so.23.0git  lib/libMLIRSupport.so.23.0git  lib/libLLVMSupport.so.23.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib && :
/usr/bin/ld: tools/mlir/lib/Reducer/CMakeFiles/obj.MLIRReduce.dir/ReductionTreePass.cpp.o: in function `eraseRedundantBlocksInRegion(mlir::ModuleOp, mlir::Region&, mlir::Tester const&)':
ReductionTreePass.cpp:(.text._ZL28eraseRedundantBlocksInRegionN4mlir8ModuleOpERNS_6RegionERKNS_6TesterE+0x2bf): undefined reference to `mlir::cf::BranchOp::getCanonicalizationPatterns(mlir::RewritePatternSet&, mlir::MLIRContext*)'
/usr/bin/ld: ReductionTreePass.cpp:(.text._ZL28eraseRedundantBlocksInRegionN4mlir8ModuleOpERNS_6RegionERKNS_6TesterE+0x2ca): undefined reference to `mlir::cf::CondBranchOp::getCanonicalizationPatterns(mlir::RewritePatternSet&, mlir::MLIRContext*)'
/usr/bin/ld: ReductionTreePass.cpp:(.text._ZL28eraseRedundantBlocksInRegionN4mlir8ModuleOpERNS_6RegionERKNS_6TesterE+0x2d5): undefined reference to `mlir::cf::SwitchOp::getCanonicalizationPatterns(mlir::RewritePatternSet&, mlir::MLIRContext*)'
/usr/bin/ld: ReductionTreePass.cpp:(.text._ZL28eraseRedundantBlocksInRegionN4mlir8ModuleOpERNS_6RegionERKNS_6TesterE+0xa6a): undefined reference to `mlir::cf::BranchOp::create(mlir::OpBuilder&, mlir::Location, mlir::Block*, mlir::ValueRange)'
/usr/bin/ld: ReductionTreePass.cpp:(.text._ZL28eraseRedundantBlocksInRegionN4mlir8ModuleOpERNS_6RegionERKNS_6TesterE+0xe84): undefined reference to `mlir::cf::BranchOp::create(mlir::OpBuilder&, mlir::Location, mlir::Block*, mlir::ValueRange)'
collect2: error: ld returned 1 exit status
[5245/8530] Linking CXX shared library lib/libMLIRSCFDialect.so.23.0git
[5246/8530] Building CXX object tools/mlir/lib/Target/LLVMIR/CMakeFiles/obj.MLIRTargetLLVMIRImport.dir/ModuleImport.cpp.o
[5247/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIEmitC.dir/EmitC.cpp.o
[5248/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIComplex.dir/Complex.cpp.o
[5249/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIArmSME.dir/ArmSME.cpp.o
[5250/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIMLProgram.dir/MLProgram.cpp.o
[5251/8530] Building CXX object tools/mlir/test/lib/Dialect/Affine/CMakeFiles/MLIRAffineTransformsTestPasses.dir/TestReifyValueBounds.cpp.o
[5252/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIGPU.dir/GPU.cpp.o
[5253/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIMLProgram.dir/MLProgramPasses.cpp.o
[5254/8530] Building CXX object tools/mlir/lib/Target/SPIRV/Serialization/CMakeFiles/obj.MLIRSPIRVSerialization.dir/SerializeOps.cpp.o
[5255/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIMath.dir/Math.cpp.o
[5256/8530] Building CXX object tools/mlir/lib/Target/LLVM/CMakeFiles/obj.MLIRTargetLLVM.dir/ModuleToObject.cpp.o
[5257/8530] Building CXX object tools/mlir/lib/Target/LLVMIR/Dialect/NVVM/CMakeFiles/obj.MLIRLLVMIRToNVVMTranslation.dir/LLVMIRToNVVMTranslation.cpp.o
[5258/8530] Building CXX object tools/mlir/lib/Target/LLVM/CMakeFiles/obj.MLIRXeVMTarget.dir/XeVM/Target.cpp.o
/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/llvm-project/mlir/lib/Target/LLVM/XeVM/Target.cpp:415:1: warning: ‘std::optional<std::__cxx11::basic_string<char> > {anonymous}::SPIRVSerializer::translateToSPIRVBinary(llvm::Module&, llvm::TargetMachine&)’ defined but not used [-Wunused-function]
  415 | SPIRVSerializer::translateToSPIRVBinary(llvm::Module &llvmModule,
      | ^~~~~~~~~~~~~~~
[5259/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIGPU.dir/GPUPasses.cpp.o
[5260/8530] Building CXX object tools/mlir/lib/Target/LLVM/CMakeFiles/obj.MLIRROCDLTarget.dir/ROCDL/Utils.cpp.o
[5261/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPILinalg.dir/Linalg.cpp.o
[5262/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIOpenACC.dir/OpenACC.cpp.o
[5263/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPILLVM.dir/LLVM.cpp.o
[5264/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIOpenACC.dir/OpenACCPasses.cpp.o
[5265/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPILinalg.dir/LinalgPasses.cpp.o
[5266/8530] Building CXX object tools/mlir/lib/Target/LLVMIR/Dialect/LLVMIR/CMakeFiles/obj.MLIRLLVMToLLVMIRTranslation.dir/LLVMToLLVMIRTranslation.cpp.o
[5267/8530] Building CXX object tools/mlir/lib/CAPI/Dialect/CMakeFiles/obj.MLIRCAPIOpenMP.dir/OpenMP.cpp.o
[5268/8530] Building CXX object tools/mlir/lib/ExecutionEngine/CMakeFiles/MLIRJitRunner.dir/JitRunner.cpp.o
[5269/8530] Building CXX object tools/mlir/lib/Target/LLVMIR/Dialect/NVVM/CMakeFiles/obj.MLIRNVVMToLLVMIRTranslation.dir/NVVMToLLVMIRTranslation.cpp.o
[5270/8530] Building CXX object tools/mlir/lib/Target/LLVMIR/Dialect/ROCDL/CMakeFiles/obj.MLIRROCDLToLLVMIRTranslation.dir/ROCDLToLLVMIRTranslation.cpp.o
[5271/8530] Building CXX object tools/mlir/lib/Dialect/LLVMIR/CMakeFiles/obj.MLIRNVVMDialect.dir/IR/NVVMDialect.cpp.o

```

</details>

https://github.com/llvm/llvm-project/pull/187864


More information about the Mlir-commits mailing list