[all-commits] [llvm/llvm-project] a3ad8f: [MLIR] Add type checking capability to RegionBranc...
    Rahul Joshi via All-commits 
    all-commits at lists.llvm.org
       
    Wed Jul 15 11:14:44 PDT 2020
    
    
  
  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: a3ad8f92b44d79487a34b1151251b413ef769070
      https://github.com/llvm/llvm-project/commit/a3ad8f92b44d79487a34b1151251b413ef769070
  Author: Rahul Joshi <jurahul at google.com>
  Date:   2020-07-15 (Wed, 15 Jul 2020)
  Changed paths:
    M mlir/include/mlir/Dialect/SCF/SCFOps.td
    M mlir/include/mlir/Interfaces/ControlFlowInterfaces.h
    M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
    M mlir/lib/Dialect/SCF/SCF.cpp
    M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
    M mlir/test/Dialect/SCF/invalid.mlir
  Log Message:
  -----------
  [MLIR] Add type checking capability to RegionBranchOpInterface
- Add function `verifyTypes` that Op's can call to do type checking verification
  along the control flow edges described the Op's RegionBranchOpInterface.
- We cannot rely on the verify methods on the OpInterface because the interface
  functions assume valid Ops, so they may crash if invoked on unverified Ops.
  (For example, scf.for getSuccessorRegions() calls getRegionIterArgs(), which
  dereferences getBody() block. If the scf.for is invalid with no body, this
  can lead to a segfault). `verifyTypes` can be called post op-verification to
  avoid this.
Differential Revision: https://reviews.llvm.org/D82829
    
    
More information about the All-commits
mailing list