[mlir][llvm] Make some debug info attribute parameters optional.
authorTobias Gysi <tobias.gysi@nextsilicon.com>
Fri, 18 Nov 2022 08:35:15 +0000 (09:35 +0100)
committerTobias Gysi <tobias.gysi@nextsilicon.com>
Fri, 18 Nov 2022 08:35:44 +0000 (09:35 +0100)
commit63502901ca448ea0710c83332512a8d73144f496
tree3fa067bb948d86f8345c4f08cafc37fb6af1da07
parent68294afa0836bb62be921e2143d147cdfdc8ba70
[mlir][llvm] Make some debug info attribute parameters optional.

The revision makes specific debug information attribute parameters
optional since some of them can be omitted in LLVMIR. The additional
flexibility enables a later revision that will support importing
debug information from LLVMIR. A special case is the types parameter
of the SubroutineTypeAttr. For void functions, its first entry is
null in LLVMIR. This revision splits the type parameter in an optional
resultType parameter and an argumentTypes array to support this corner
case.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D138206
mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
mlir/lib/Target/LLVMIR/DebugTranslation.cpp
mlir/test/Dialect/LLVMIR/debuginfo.mlir
mlir/test/Target/LLVMIR/llvmir-debug.mlir