[all-commits] [llvm/llvm-project] b3037a: [MLIR][LLVM] Add distinct identifier to DICompileU...

Christian Ulmann via All-commits all-commits at lists.llvm.org
Sun Jan 7 22:42:48 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b3037ae1fc6d26459e37f813757ad30872eb2eee
      https://github.com/llvm/llvm-project/commit/b3037ae1fc6d26459e37f813757ad30872eb2eee
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-01-08 (Mon, 08 Jan 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugFoundation.cpp
    M flang/test/Transforms/debug-line-table-existing.fir
    M flang/test/Transforms/debug-line-table-inc-file.fir
    M flang/test/Transforms/debug-line-table.fir
    M mlir/examples/toy/Ch6/toyc.cpp
    M mlir/examples/toy/Ch7/toyc.cpp
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
    M mlir/lib/Dialect/LLVMIR/Transforms/DIScopeForLLVMFuncOp.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/test/Dialect/LLVMIR/add-debuginfo-func-scope.mlir
    M mlir/test/Dialect/LLVMIR/call-location.mlir
    M mlir/test/Dialect/LLVMIR/debuginfo.mlir
    M mlir/test/Dialect/LLVMIR/global.mlir
    M mlir/test/Dialect/LLVMIR/invalid-call-location.mlir
    M mlir/test/Dialect/LLVMIR/loop-metadata.mlir
    M mlir/test/Dialect/LLVMIR/mem2reg-dbginfo.mlir
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/Import/global-variables.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir
    M mlir/test/Target/LLVMIR/loop-metadata.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Add distinct identifier to DICompileUnit attribute (#77070)

This commit adds a distinct attribute parameter to the DICompileUnit to
enable the modeling of distinctness. LLVM requires DICompileUnits to be
distinct and there are cases where one gets two equivalent compilation
units but LLVM still requires differentiates them. We observed such
cases for combinations of LTO and inline functions.

This patch also changes the DIScopeForLLVMFuncOp pass to a module pass,
to ensure that only one distinct DICompileUnit is created, instead of
one for each function.




More information about the All-commits mailing list