[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