diff options
author | Sam Parker <sam.parker@arm.com> | 2019-07-24 09:38:39 +0000 |
---|---|---|
committer | Sam Parker <sam.parker@arm.com> | 2019-07-24 09:38:39 +0000 |
commit | aeb21b96a0e9ee699ece8fe5dd8cc34a0cc8840d (patch) | |
tree | 00cc66d1a46fff1c93bde9e32cb14c6e186c489e /llvm/lib/Target/ARM/ARMParallelDSP.cpp | |
parent | 6076788c5b9c16253e0b33f061fe022f29b36bb8 (diff) | |
download | llvm-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.cpp | 4 |
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. |