[mlir][LLVM] add `llvm.ssa.copy` intrinsic
authorMarkus Böck <markus.bock+llvm@nextsilicon.com>
Wed, 19 Jul 2023 07:32:17 +0000 (09:32 +0200)
committerMarkus Böck <markus.bock+llvm@nextsilicon.com>
Wed, 19 Jul 2023 07:53:28 +0000 (09:53 +0200)
commitec3cbe92c009297e093552c360d57b023a422255
tree06860d9257ec9fe2715f528bfd2bfe0413e5937d
parent8606cbf97f091b82a4911b314234fa9907e45ba0
[mlir][LLVM] add `llvm.ssa.copy` intrinsic

This is quite the niche intrinsic, whose whole purpose is to be able to essentially split an SSA value to be able to attach additional information to the new value.
It therefore really acts like a noop that just passes through its argument. It interestingly does not have any support in CodeGen and is therefore required to also be deleted by any pass creating it.

Differential Revision: https://reviews.llvm.org/D155678
mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
mlir/test/Target/LLVMIR/Import/intrinsic.ll
mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir