aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineCombiner.cpp
diff options
context:
space:
mode:
authorGerolf Hoflehner <ghoflehner@apple.com>2019-01-10 21:53:13 +0000
committerGerolf Hoflehner <ghoflehner@apple.com>2019-01-10 21:53:13 +0000
commitcb7d968f73f827ef81d224a9332b49787c351044 (patch)
tree1207fe1b90551a5c99b6a96b8f849469f0172ad6 /llvm/lib/CodeGen/MachineCombiner.cpp
parente41f4b39e53b024090af3d1e0c132a697d265da4 (diff)
downloadllvm-cb7d968f73f827ef81d224a9332b49787c351044.zip
llvm-cb7d968f73f827ef81d224a9332b49787c351044.tar.gz
llvm-cb7d968f73f827ef81d224a9332b49787c351044.tar.bz2
[MachineCombiner][NFC] Prevent dereferencing past-the-end object in an MRI container
llvm-svn: 350896
Diffstat (limited to 'llvm/lib/CodeGen/MachineCombiner.cpp')
-rw-r--r--llvm/lib/CodeGen/MachineCombiner.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/MachineCombiner.cpp b/llvm/lib/CodeGen/MachineCombiner.cpp
index 0c6efff7..f51b482 100644
--- a/llvm/lib/CodeGen/MachineCombiner.cpp
+++ b/llvm/lib/CodeGen/MachineCombiner.cpp
@@ -231,6 +231,8 @@ unsigned MachineCombiner::getLatency(MachineInstr *Root, MachineInstr *NewRoot,
// Get the first instruction that uses MO
MachineRegisterInfo::reg_iterator RI = MRI->reg_begin(MO.getReg());
RI++;
+ if (RI == MRI->reg_end())
+ continue;
MachineInstr *UseMO = RI->getParent();
unsigned LatencyOp = 0;
if (UseMO && BlockTrace.isDepInTrace(*Root, *UseMO)) {