[Mlir-commits] [mlir] [MLIR][SCF] Canonicalize redundant scf.if from scf.while before region into after region (PR #169892)

LLVM Continuous Integration llvmlistbot at llvm.org
Mon Dec 1 03:04:11 PST 2025


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/30502

<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)
...
                 from /home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/llvm-project/mlir/lib/Dialect/SCF/IR/SCF.cpp:27:
/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/llvm-project/mlir/lib/Dialect/SCF/IR/SCF.cpp: In member function ‘virtual llvm::LogicalResult {anonymous}::WhileMoveIfDown::matchAndRewrite(mlir::scf::WhileOp, mlir::PatternRewriter&) const’:
/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/llvm-project/mlir/lib/Dialect/SCF/IR/SCF.cpp:3748:70: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
 3747 |     assert(ifOp->use_empty() || (llvm::all_equal(ifOp->getUsers()) &&
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
 3748 |                                  *ifOp->user_begin() == conditionOp) &&
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
 3749 |                                     "ifOp has unexpected uses");
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~        
[6847/8221] Linking CXX shared library lib/libMLIRSCFDialect.so.22.0git
FAILED: lib/libMLIRSCFDialect.so.22.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,libMLIRSCFDialect.so.22.0git -o lib/libMLIRSCFDialect.so.22.0git tools/mlir/lib/Dialect/SCF/IR/CMakeFiles/obj.MLIRSCFDialect.dir/SCF.cpp.o tools/mlir/lib/Dialect/SCF/IR/CMakeFiles/obj.MLIRSCFDialect.dir/DeviceMappingInterface.cpp.o tools/mlir/lib/Dialect/SCF/IR/CMakeFiles/obj.MLIRSCFDialect.dir/ValueBoundsOpInterfaceImpl.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libMLIRControlFlowDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib && :
/usr/bin/ld: tools/mlir/lib/Dialect/SCF/IR/CMakeFiles/obj.MLIRSCFDialect.dir/SCF.cpp.o: in function `(anonymous namespace)::WhileMoveIfDown::matchAndRewrite(mlir::scf::WhileOp, mlir::PatternRewriter&) const':
SCF.cpp:(.text._ZNK12_GLOBAL__N_115WhileMoveIfDown15matchAndRewriteEN4mlir3scf7WhileOpERNS1_15PatternRewriterE+0x535): undefined reference to `mlir::visitUsedValuesDefinedAbove(llvm::MutableArrayRef<mlir::Region>, llvm::function_ref<void (mlir::OpOperand*)>)'
collect2: error: ld returned 1 exit status
[6848/8221] Building AMDGPUGenAsmMatcher.inc...
[6849/8221] Building AMDGPUGenRegisterBank.inc...
[6850/8221] Building AMDGPUGenRegisterInfo.inc...
[6851/8221] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/OpenMP-utils.cpp.o
[6852/8221] Building CXX object tools/flang/lib/Evaluate/CMakeFiles/FortranEvaluate.dir/cmake_pch.hxx.gch
[6853/8221] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/cmake_pch.hxx.gch
[6854/8221] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/intrinsics.test.dir/intrinsics.cpp.o
[6855/8221] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/folding.test.dir/folding.cpp.o
[6856/8221] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/expression.test.dir/expression.cpp.o
[6857/8221] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/cmake_pch.hxx.gch
[6858/8221] Building CXX object tools/flang/tools/f18-parse-demo/CMakeFiles/f18-parse-demo.dir/f18-parse-demo.cpp.o
ninja: build stopped: subcommand failed.
['ninja'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 62, in step
    yield
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 53, in main
    run_command(["ninja"])
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 75, in run_command
    util.report_run_cmd(cmd, cwd=directory)
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/llvm-zorg/zorg/buildbot/builders/annotated/util.py", line 49, in report_run_cmd
    subprocess.check_call(cmd, shell=shell, *args, **kwargs)
  File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja']' returned non-zero exit status 1.
@@@STEP_FAILURE@@@
Step 7 (build cmake config) failure: build cmake config (failure)
...
                 from /home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/llvm-project/mlir/lib/Dialect/SCF/IR/SCF.cpp:27:
/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/llvm-project/mlir/lib/Dialect/SCF/IR/SCF.cpp: In member function ‘virtual llvm::LogicalResult {anonymous}::WhileMoveIfDown::matchAndRewrite(mlir::scf::WhileOp, mlir::PatternRewriter&) const’:
/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/llvm-project/mlir/lib/Dialect/SCF/IR/SCF.cpp:3748:70: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
 3747 |     assert(ifOp->use_empty() || (llvm::all_equal(ifOp->getUsers()) &&
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
 3748 |                                  *ifOp->user_begin() == conditionOp) &&
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
 3749 |                                     "ifOp has unexpected uses");
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~        
[6847/8221] Linking CXX shared library lib/libMLIRSCFDialect.so.22.0git
FAILED: lib/libMLIRSCFDialect.so.22.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,libMLIRSCFDialect.so.22.0git -o lib/libMLIRSCFDialect.so.22.0git tools/mlir/lib/Dialect/SCF/IR/CMakeFiles/obj.MLIRSCFDialect.dir/SCF.cpp.o tools/mlir/lib/Dialect/SCF/IR/CMakeFiles/obj.MLIRSCFDialect.dir/DeviceMappingInterface.cpp.o tools/mlir/lib/Dialect/SCF/IR/CMakeFiles/obj.MLIRSCFDialect.dir/ValueBoundsOpInterfaceImpl.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libMLIRControlFlowDialect.so.22.0git  lib/libMLIRTensorDialect.so.22.0git  lib/libMLIRAffineDialect.so.22.0git  lib/libMLIRMemRefDialect.so.22.0git  lib/libMLIRValueBoundsOpInterface.so.22.0git  lib/libMLIRAnalysis.so.22.0git  lib/libMLIRLoopLikeInterface.so.22.0git  lib/libMLIRFunctionInterfaces.so.22.0git  lib/libMLIRSideEffectInterfaces.so.22.0git  lib/libMLIRCallInterfaces.so.22.0git  lib/libMLIRDataLayoutInterfaces.so.22.0git  lib/libMLIRPresburger.so.22.0git  lib/libMLIRControlFlowInterfaces.so.22.0git  lib/libMLIRInferStridedMetadataInterface.so.22.0git  lib/libMLIRMemOpInterfaces.so.22.0git  lib/libMLIRMemorySlotInterfaces.so.22.0git  lib/libMLIRArithUtils.so.22.0git  lib/libMLIRDialectUtils.so.22.0git  lib/libMLIRComplexDialect.so.22.0git  lib/libMLIRArithDialect.so.22.0git  lib/libMLIRCastInterfaces.so.22.0git  lib/libMLIRInferIntRangeCommon.so.22.0git  lib/libMLIRInferIntRangeInterface.so.22.0git  lib/libMLIRUBDialect.so.22.0git  lib/libMLIRDialect.so.22.0git  lib/libMLIRInferTypeOpInterface.so.22.0git  lib/libMLIRDestinationStyleOpInterface.so.22.0git  lib/libMLIRParallelCombiningOpInterface.so.22.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.22.0git  lib/libMLIRShapedOpInterfaces.so.22.0git  lib/libMLIRViewLikeInterface.so.22.0git  lib/libMLIRIR.so.22.0git  lib/libMLIRSupport.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib && :
/usr/bin/ld: tools/mlir/lib/Dialect/SCF/IR/CMakeFiles/obj.MLIRSCFDialect.dir/SCF.cpp.o: in function `(anonymous namespace)::WhileMoveIfDown::matchAndRewrite(mlir::scf::WhileOp, mlir::PatternRewriter&) const':
SCF.cpp:(.text._ZNK12_GLOBAL__N_115WhileMoveIfDown15matchAndRewriteEN4mlir3scf7WhileOpERNS1_15PatternRewriterE+0x535): undefined reference to `mlir::visitUsedValuesDefinedAbove(llvm::MutableArrayRef<mlir::Region>, llvm::function_ref<void (mlir::OpOperand*)>)'
collect2: error: ld returned 1 exit status
[6848/8221] Building AMDGPUGenAsmMatcher.inc...
[6849/8221] Building AMDGPUGenRegisterBank.inc...
[6850/8221] Building AMDGPUGenRegisterInfo.inc...
[6851/8221] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/OpenMP-utils.cpp.o
[6852/8221] Building CXX object tools/flang/lib/Evaluate/CMakeFiles/FortranEvaluate.dir/cmake_pch.hxx.gch
[6853/8221] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/cmake_pch.hxx.gch
[6854/8221] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/intrinsics.test.dir/intrinsics.cpp.o
[6855/8221] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/folding.test.dir/folding.cpp.o
[6856/8221] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/expression.test.dir/expression.cpp.o
[6857/8221] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/cmake_pch.hxx.gch
[6858/8221] Building CXX object tools/flang/tools/f18-parse-demo/CMakeFiles/f18-parse-demo.dir/f18-parse-demo.cpp.o
ninja: build stopped: subcommand failed.
['ninja'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 62, in step
    yield
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 53, in main
    run_command(["ninja"])
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 75, in run_command
    util.report_run_cmd(cmd, cwd=directory)
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/llvm-zorg/zorg/buildbot/builders/annotated/util.py", line 49, in report_run_cmd
    subprocess.check_call(cmd, shell=shell, *args, **kwargs)
  File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja']' returned non-zero exit status 1.
program finished with exit code 0
elapsedTime=149.325719

```

</details>

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


More information about the Mlir-commits mailing list