[llvm] [NVPTX] Lower LLVM masked vector loads and stores to PTX (PR #159387)
Drew Kersnar via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 27 09:18:18 PDT 2025
================
@@ -64,10 +65,18 @@ static bool tagInvariantLoads(Function &F) {
bool Changed = false;
for (auto &I : instructions(F)) {
if (auto *LI = dyn_cast<LoadInst>(&I)) {
- if (isInvariantLoad(LI, IsKernelFn)) {
+ if (isInvariantLoad(LI, LI->getPointerOperand(), IsKernelFn)) {
markLoadsAsInvariant(LI);
Changed = true;
}
+ if (auto *II = dyn_cast<IntrinsicInst>(&I)) {
+ if (II->getIntrinsicID() == Intrinsic::masked_load) {
+ if (isInvariantLoad(II, II->getOperand(0), IsKernelFn)) {
----------------
dakersnar wrote:
Like this, with the outer if statement not using braces?
```
if (auto *II = dyn_cast<IntrinsicInst>(&I))
if (II->getIntrinsicID() == Intrinsic::masked_load && isInvariantLoad(II, II->getOperand(0), IsKernelFn)) {
markLoadsAsInvariant(II);
Changed = true;
}
```
https://github.com/llvm/llvm-project/pull/159387
More information about the llvm-commits
mailing list