[mlir][llvm] Purge struct_attr
authorChristian Ulmann <christian.ulmann@nextsilicon.com>
Thu, 9 Feb 2023 08:27:13 +0000 (09:27 +0100)
committerChristian Ulmann <christian.ulmann@nextsilicon.com>
Thu, 9 Feb 2023 08:41:43 +0000 (09:41 +0100)
commit851a89715cadf411bd66a7cbb9d7567580f08f4c
tree267de68dd220bbb02d3cff30406f56a291161be8
parent2b5a020d3e3ca2a887218776bc6e7bd930a656fa
[mlir][llvm] Purge struct_attr

This commit removes the `llvm.struct_attr` which was used to bundle
result attributes that were previously attached to multiple results.
This extension isn't part of LLVM as result attribute semantics cannot
be supported on a struct field granularity.
Furthermore, many usages promoted result attributes to argument
attributes but this does not necessary preserve the semantics.

Reviewed By: gysit

Differential Revision: https://reviews.llvm.org/D143473
mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
mlir/test/Conversion/FuncToLLVM/emit-c-wrappers-for-external-callers.mlir
mlir/test/Conversion/FuncToLLVM/emit-c-wrappers-for-external-functions.mlir
mlir/test/Dialect/LLVMIR/invalid.mlir