summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-09-10 18:25:35 +0000
committerBob Wilson <bob.wilson@apple.com>2010-09-10 18:25:35 +0000
commit979927ab26a1832ee2ecd1edb17d50184756f474 (patch)
treecf6d2952bb656c5ec08fe8ee15d00ef051012ded /lib
parent8ea298a4e341479a4bba608007bec295fd164613 (diff)
downloadllvm-979927ab26a1832ee2ecd1edb17d50184756f474.tar.gz
llvm-979927ab26a1832ee2ecd1edb17d50184756f474.tar.bz2
llvm-979927ab26a1832ee2ecd1edb17d50184756f474.tar.xz
Calculate the number of VLDM/VSTM registers by subtracting the number of
fixed operands from the total number of operands (including the variadic ones). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113597 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/ARM/ARMLoadStoreOptimizer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Target/ARM/ARMLoadStoreOptimizer.cpp b/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
index 2b7645a421..50bc33ebe6 100644
--- a/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
+++ b/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
@@ -458,10 +458,10 @@ static inline unsigned getLSMultipleTransferSize(MachineInstr *MI) {
case ARM::t2STM:
case ARM::VLDMS:
case ARM::VSTMS:
- return (MI->getNumOperands() - 4) * 4;
+ return (MI->getNumOperands() - MI->getDesc().getNumOperands() + 1) * 4;
case ARM::VLDMD:
case ARM::VSTMD:
- return (MI->getNumOperands() - 4) * 8;
+ return (MI->getNumOperands() - MI->getDesc().getNumOperands() + 1) * 8;
}
}