Anastasia added a comment. In D127579#3586092 <https://reviews.llvm.org/D127579#3586092>, @nikic wrote:
> @Anastasia Thanks, that does sound like a legitimate reason to include the > information. I want to double check though, does linking the modules actually > fail if the functions have signatures that differ only by pointer types? At > least for normal LLVM IR this would work fine, and would just result in the > insertion of a bitcast during linking (and then typically the bitcast would > get shifted from the called function to the call arguments later). If I use `spirv-link `with two modules that have mismatching pointee type in a function parameter I get an error: error: 0: Type mismatch on symbol "foo" between imported variable/function %6 and exported variable/function %17. The way I understand a bitcast instruction in SPIR-V (`OpBitcast` in https://www.khronos.org/registry/SPIR-V/specs/unified1/SPIRV.html#_conversion_instructions) is that it can only apply to pointer types which are distinct from function types. Note that I believe that function pointers are illegal, at least we disallow them in OpenCL. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D127579/new/ https://reviews.llvm.org/D127579 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits