[mlir] LLVM dialect: use addressof instead of constant to create function pointers
`llvm.mlir.constant` was originally introduced as an LLVM dialect counterpart to `std.constant`. As such, it was supporting "function pointer" constants derived from the symbol name. This is different from `std.constant` that allows for creation of a "function" constant since MLIR, unlike LLVM IR, supports this. Later, `llvm.mlir.addressof` was introduced as an Op that obtains a constant pointer to a global in the LLVM dialect. It naturally extends to functions (in LLVM IR, functions are globals) and should be used for defining "function pointer" values instead. Fixes PR46344. Differential Revision: https://reviews.llvm.org/D82667
Loading
Please sign in to comment