[llvm] [SPIR-V] Add support for SPV_INTEL_masked_gather_scatter extension (PR #185418)
Juan Manuel Martinez CaamaƱo via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 10 03:26:08 PDT 2026
================
@@ -64,27 +60,34 @@ INITIALIZE_PASS(SPIRVConvertMaskedMemIntrinsics,
"spirv-convert-masked-mem-intrinsics",
"Convert masked memory intrinsics for SPIR-V", false, false)
-bool SPIRVConvertMaskedMemIntrinsics::runOnFunction(Function &F) {
+bool SPIRVConvertMaskedMemIntrinsics::runOnModule(Module &M) {
if (!TM)
return false;
- ToErase.clear();
- visit(F);
+ bool Changed = false;
+ SmallVector<IntrinsicInst *, 8> ToProcess;
- for (Instruction *I : ToErase)
- I->eraseFromParent();
+ for (Function &F : M) {
+ if (!F.isIntrinsic())
+ continue;
+ Intrinsic::ID IID = F.getIntrinsicID();
+ if (IID != Intrinsic::masked_gather && IID != Intrinsic::masked_scatter)
+ continue;
- return !ToErase.empty();
+ for (User *U : F.users()) {
----------------
jmmartinez wrote:
If at the end of this loop `F` doesn't have any more users we can call `F.eraseFromParent()` (we have to use `make_early_inc_range(M)`).
https://github.com/llvm/llvm-project/pull/185418
More information about the llvm-commits
mailing list