diff options
author | Gerolf Hoflehner <ghoflehner@apple.com> | 2019-01-10 21:53:13 +0000 |
---|---|---|
committer | Gerolf Hoflehner <ghoflehner@apple.com> | 2019-01-10 21:53:13 +0000 |
commit | cb7d968f73f827ef81d224a9332b49787c351044 (patch) | |
tree | 1207fe1b90551a5c99b6a96b8f849469f0172ad6 /llvm/lib/CodeGen/MachineCombiner.cpp | |
parent | e41f4b39e53b024090af3d1e0c132a697d265da4 (diff) | |
download | llvm-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.cpp | 2 |
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)) { |