[llvm] [SPIRV] Use OpCopyMemory for logical SPIRV memcpy (PR #169348)
Steven Perron via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 26 06:22:31 PST 2025
================
@@ -1435,50 +1438,76 @@ bool SPIRVInstructionSelector::selectStackRestore(MachineInstr &I) const {
.constrainAllUses(TII, TRI, RBI);
}
-bool SPIRVInstructionSelector::selectMemOperation(Register ResVReg,
- MachineInstr &I) const {
+Register
+SPIRVInstructionSelector::getOrCreateMemSetGlobal(MachineInstr &I) const {
+ MachineIRBuilder MIRBuilder(I);
+ assert(I.getOperand(1).isReg() && I.getOperand(2).isReg());
+ unsigned Val = getIConstVal(I.getOperand(1).getReg(), MRI);
+ unsigned Num = getIConstVal(I.getOperand(2).getReg(), MRI);
+ Type *ValTy = Type::getInt8Ty(I.getMF()->getFunction().getContext());
+ Type *ArrTy = ArrayType::get(ValTy, Num);
+ SPIRVType *VarTy = GR.getOrCreateSPIRVPointerType(
----------------
s-perron wrote:
Done.
https://github.com/llvm/llvm-project/pull/169348
More information about the llvm-commits
mailing list