From: Gerolf Hoflehner Date: Thu, 10 Jan 2019 21:53:13 +0000 (+0000) Subject: [MachineCombiner][NFC] Prevent dereferencing past-the-end object in an MRI container X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7ed9683f7d0b93d524028a9ad2b954a6d0be8e19;p=llvm [MachineCombiner][NFC] Prevent dereferencing past-the-end object in an MRI container git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350896 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/MachineCombiner.cpp b/lib/CodeGen/MachineCombiner.cpp index 0c6efff7bb4..f51b482e20e 100644 --- a/lib/CodeGen/MachineCombiner.cpp +++ b/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)) {