I am encountering code where Clang generates llvm.memmove, and this intrinsic is not implemented. As a workaround, I've temporarily handled llvm.memmove using the same lowering logic as llvm.memcpy, via COPY_BYTES. This isn't semantically correct for overlapping memory regions, but it unblocks compilation for now.
|
if (shd_string_starts_with(intrinsic, "llvm.memcpy")) { |
I added
|| shd_string_starts_with(intrinsic, "llvm.memmove") inside the if branch.
I am encountering code where Clang generates
llvm.memmove, and this intrinsic is not implemented. As a workaround, I've temporarily handled llvm.memmove using the same lowering logic as llvm.memcpy, via COPY_BYTES. This isn't semantically correct for overlapping memory regions, but it unblocks compilation for now.shady/src/frontend/llvm/l2s_instr.c
Line 523 in d31c4ec
I added
|| shd_string_starts_with(intrinsic, "llvm.memmove")inside the if branch.