aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2016-08-13 01:12:49 +0000
committerHans Wennborg <hans@hanshq.net>2016-08-13 01:12:49 +0000
commit0dd9ed1d452e528cc0a8616cc185d9043afb76db (patch)
treed7382eb93d4a88421c1d5a4fd275703d4aa8381e /llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
parent35b79c2470b74249e5e460dc76b65cd3de360d6c (diff)
downloadllvm-0dd9ed1d452e528cc0a8616cc185d9043afb76db.zip
llvm-0dd9ed1d452e528cc0a8616cc185d9043afb76db.tar.gz
llvm-0dd9ed1d452e528cc0a8616cc185d9043afb76db.tar.bz2
Fix more dereferenced end() iterators after r278532
llvm-svn: 278587
Diffstat (limited to 'llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp')
-rw-r--r--llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp b/llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
index 9e972a5..7c22030 100644
--- a/llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
+++ b/llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
@@ -158,10 +158,11 @@ MachineBasicBlock::iterator
SILoadStoreOptimizer::findMatchingDSInst(MachineBasicBlock::iterator I,
unsigned EltSize){
MachineBasicBlock::iterator E = I->getParent()->end();
+ MachineBasicBlock &MBB = *I->getParent();
MachineBasicBlock::iterator MBBI = I;
++MBBI;
- if (MBBI->getOpcode() != I->getOpcode())
+ if (MBBI == MBB.end() || MBBI->getOpcode() != I->getOpcode())
return E;
// Don't merge volatiles.