aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp')
-rw-r--r--llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp b/llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
index be1bc865d1e1..7c6eac8c8ce0 100644
--- a/llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
@@ -306,7 +306,7 @@ bool LoadStoreOpt::mergeStores(SmallVectorImpl<GStore *> &StoresToMerge) {
bool AnyMerged = false;
do {
unsigned NumPow2 = PowerOf2Floor(StoresToMerge.size());
- unsigned MaxSizeBits = NumPow2 * OrigTy.getSizeInBits().getFixedSize();
+ unsigned MaxSizeBits = NumPow2 * OrigTy.getSizeInBits().getFixedValue();
// Compute the biggest store we can generate to handle the number of stores.
unsigned MergeSizeBits;
for (MergeSizeBits = MaxSizeBits; MergeSizeBits > 1; MergeSizeBits /= 2) {
@@ -352,13 +352,13 @@ bool LoadStoreOpt::doSingleStoreMerge(SmallVectorImpl<GStore *> &Stores) {
const unsigned NumStores = Stores.size();
LLT SmallTy = MRI->getType(FirstStore->getValueReg());
LLT WideValueTy =
- LLT::scalar(NumStores * SmallTy.getSizeInBits().getFixedSize());
+ LLT::scalar(NumStores * SmallTy.getSizeInBits().getFixedValue());
// For each store, compute pairwise merged debug locs.
- DebugLoc MergedLoc;
- for (unsigned AIdx = 0, BIdx = 1; BIdx < NumStores; ++AIdx, ++BIdx)
- MergedLoc = DILocation::getMergedLocation(Stores[AIdx]->getDebugLoc(),
- Stores[BIdx]->getDebugLoc());
+ DebugLoc MergedLoc = Stores.front()->getDebugLoc();
+ for (auto *Store : drop_begin(Stores))
+ MergedLoc = DILocation::getMergedLocation(MergedLoc, Store->getDebugLoc());
+
Builder.setInstr(*Stores.back());
Builder.setDebugLoc(MergedLoc);