[all-commits] [llvm/llvm-project] 9dd0eb: [mlir][llvm] Drop unreachable basic block during i...

Tobias Gysi via All-commits all-commits at lists.llvm.org
Fri Jan 19 02:11:09 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9dd0eb9c9c207e7ea17912616c5cea58aa5c514d
      https://github.com/llvm/llvm-project/commit/9dd0eb9c9c207e7ea17912616c5cea58aa5c514d
  Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
  Date:   2024-01-19 (Fri, 19 Jan 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Target/LLVMIR/Import/constant.ll
    M mlir/test/Target/LLVMIR/Import/exception.ll
    A mlir/test/Target/LLVMIR/Import/unreachable-blocks.ll

  Log Message:
  -----------
  [mlir][llvm] Drop unreachable basic block during import (#78467)

This revision updates the LLVM IR import to support unreachable basic
blocks. An unreachable block may dominate itself and a value defined
inside the block may thus be used before its definition. The import does
not support such dependencies. We thus delete the unreachable basic
blocks before the import. This is possible since MLIR does not have
basic block labels that can be reached using an indirect call and
unreachable blocks can indeed be deleted safely.

Additionally, add a small poison constant import test.




More information about the All-commits mailing list