aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/ARM/ARMParallelDSP.cpp
diff options
context:
space:
mode:
authorSam Parker <sam.parker@arm.com>2019-07-24 09:38:39 +0000
committerSam Parker <sam.parker@arm.com>2019-07-24 09:38:39 +0000
commitaeb21b96a0e9ee699ece8fe5dd8cc34a0cc8840d (patch)
tree00cc66d1a46fff1c93bde9e32cb14c6e186c489e /llvm/lib/Target/ARM/ARMParallelDSP.cpp
parent6076788c5b9c16253e0b33f061fe022f29b36bb8 (diff)
downloadllvm-aeb21b96a0e9ee699ece8fe5dd8cc34a0cc8840d.zip
llvm-aeb21b96a0e9ee699ece8fe5dd8cc34a0cc8840d.tar.gz
llvm-aeb21b96a0e9ee699ece8fe5dd8cc34a0cc8840d.tar.bz2
[ARM][ParallelDSP] Fix pointer operand reordering
While combining two loads into a single load, we often need to reorder the pointer operands for the new load. This reordering was broken in the cases where there was a chain of values that built up the pointer. Differential Revision: https://reviews.llvm.org/D65193 llvm-svn: 366881
Diffstat (limited to 'llvm/lib/Target/ARM/ARMParallelDSP.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMParallelDSP.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMParallelDSP.cpp b/llvm/lib/Target/ARM/ARMParallelDSP.cpp
index 890ed2b..6225fbc 100644
--- a/llvm/lib/Target/ARM/ARMParallelDSP.cpp
+++ b/llvm/lib/Target/ARM/ARMParallelDSP.cpp
@@ -761,8 +761,8 @@ LoadInst* ARMParallelDSP::CreateWideLoad(SmallVectorImpl<LoadInst*> &Loads,
return;
Source->moveBefore(Sink);
- for (auto &U : Source->uses())
- MoveBefore(Source, U.getUser());
+ for (auto &Op : Source->operands())
+ MoveBefore(Op, Source);
};
// Insert the load at the point of the original dominating load.