[all-commits] [llvm/llvm-project] ee7003: [mlir] Fix handling of some region branch terminat...

Jeff Niu via All-commits all-commits at lists.llvm.org
Wed Jun 8 10:17:15 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ee70039ae27ae3a3db4aec65b044f24080d328ea
      https://github.com/llvm/llvm-project/commit/ee70039ae27ae3a3db4aec65b044f24080d328ea
  Author: Mogball <jeffniu22 at gmail.com>
  Date:   2022-06-08 (Wed, 08 Jun 2022)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/SCFOps.td
    M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
    M mlir/lib/Analysis/DataFlowAnalysis.cpp
    M mlir/lib/Analysis/IntRangeAnalysis.cpp
    M mlir/lib/Dialect/SCF/SCF.cpp
    M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
    M mlir/test/Dialect/SCF/invalid.mlir
    M mlir/test/Interfaces/InferIntRangeInterface/infer-int-range-test-ops.mlir
    M mlir/test/Transforms/sccp-structured.mlir

  Log Message:
  -----------
  [mlir] Fix handling of some region branch terminator successors

When `RegionBranchOpInterface::getSuccessorRegions` is called for anything other than the parent op, it expects the operands of the terminator of the source region to be passed, not the operands of the parent op. This was not always respected.

This fixes a bug in integer range inference and ForwardDataFlowSolver and changes `scf.while` to allow narrowing of successors using constant inputs.

Fixes #55873

Reviewed By: mehdi_amini, krzysz00

Differential Revision: https://reviews.llvm.org/D127261




More information about the All-commits mailing list