From 7ed9683f7d0b93d524028a9ad2b954a6d0be8e19 Mon Sep 17 00:00:00 2001 From: Gerolf Hoflehner Date: Thu, 10 Jan 2019 21:53:13 +0000 Subject: [PATCH] [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 --- lib/CodeGen/MachineCombiner.cpp | 2 ++ 1 file changed, 2 insertions(+) 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)) { -- 2.50.1