circt/test/Conversion/ArcToLLVM
Mike Urbach 3df3bb5887
Bump LLVM to 289b17635958d986b74683c932df6b1d12f37b70. (#8225)
This picked up a few breaking changes.

https://github.com/llvm/llvm-project/commit/327d6270

This added new required methods to CallOpInterface and
CallableOpInterface. These methods are related to arrays of dictionary
attributes for each argument and result, and are normally implemented
upstream by simply defining the right arg_attrs and res_attrs
arguments on the operations. This allows some of the common utilities
upstream to work with the attributes.

However, we seem to have actually moved away from arrays of
per-argument or per-result attributes in most cases, and handle this
ourselves when we want to. I opted to stub out the methods in the
tablegen definitions of our operations, rather than adding optional
attributes and setting them to null in builders and builder callsites
like was done upstream.

There were also some accompanying name changes to a couple helper
functions, which we were able to simply apply without needing to add
new optional attributes everywhere.

https://github.com/llvm/llvm-project/commit/e84f6b6a

This updated several LLVM dialect helper functions related to
lookupOrCreateFn to return FailureOr<LLVM::LLVMFuncOp>. In most cases,
we simply check for the error case and return it or signal pass
failure. There was one function in the SMT to Z3 conversion that
assumes this always succeeds and in this function I made an assertion
rather than changing the function to also potentially return failure.

https://github.com/llvm/llvm-project/commit/f4e3b878

Looks like upstream is simply moving from undef to poison in many
cases, so this required us to update one test case.
2025-02-13 14:32:11 -07:00
..
lower-arc-to-llvm.mlir Bump LLVM to 289b17635958d986b74683c932df6b1d12f37b70. (#8225) 2025-02-13 14:32:11 -07:00