[llvm] e4ec6d0 - Correctly update return status for MVEGatherScatterLowering

via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 9 02:19:22 PDT 2020


Author: serge-sans-paille
Date: 2020-07-09T11:18:54+02:00
New Revision: e4ec6d0afe14ca4ba6cebd35c7f46f3ce0859ecf

URL: https://github.com/llvm/llvm-project/commit/e4ec6d0afe14ca4ba6cebd35c7f46f3ce0859ecf
DIFF: https://github.com/llvm/llvm-project/commit/e4ec6d0afe14ca4ba6cebd35c7f46f3ce0859ecf.diff

LOG: Correctly update return status for MVEGatherScatterLowering

`Changed` should reflect all possible changes.

Differential Revision: https://reviews.llvm.org/D83459

Added: 
    

Modified: 
    llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp b/llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
index d5fa92130e69..4d7ad6cd60cb 100644
--- a/llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
+++ b/llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
@@ -990,26 +990,27 @@ bool MVEGatherScatterLowering::runOnFunction(Function &F) {
   SmallVector<IntrinsicInst *, 4> Gathers;
   SmallVector<IntrinsicInst *, 4> Scatters;
 
+  bool Changed = false;
+
   for (BasicBlock &BB : F) {
     for (Instruction &I : BB) {
       IntrinsicInst *II = dyn_cast<IntrinsicInst>(&I);
       if (II && II->getIntrinsicID() == Intrinsic::masked_gather) {
         Gathers.push_back(II);
         if (isa<GetElementPtrInst>(II->getArgOperand(0)))
-          optimiseOffsets(
+          Changed |= optimiseOffsets(
               cast<Instruction>(II->getArgOperand(0))->getOperand(1),
               II->getParent(), LI);
       } else if (II && II->getIntrinsicID() == Intrinsic::masked_scatter) {
         Scatters.push_back(II);
         if (isa<GetElementPtrInst>(II->getArgOperand(1)))
-          optimiseOffsets(
+          Changed |= optimiseOffsets(
               cast<Instruction>(II->getArgOperand(1))->getOperand(1),
               II->getParent(), LI);
       }
     }
   }
 
-  bool Changed = false;
   for (unsigned i = 0; i < Gathers.size(); i++) {
     IntrinsicInst *I = Gathers[i];
     Value *L = lowerGather(I);


        


More information about the llvm-commits mailing list