From f258b9a271d3dcc643a4f4f8b8006e8f21cf096a Mon Sep 17 00:00:00 2001 From: "Kevin B. Smith" Date: Wed, 15 Jun 2016 20:52:19 +0000 Subject: [PATCH] [X86]: Fix for uninitialized access introduced in r272797. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272835 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86FixupBWInsts.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/Target/X86/X86FixupBWInsts.cpp b/lib/Target/X86/X86FixupBWInsts.cpp index 5fb0e219ab4..79215866699 100644 --- a/lib/Target/X86/X86FixupBWInsts.cpp +++ b/lib/Target/X86/X86FixupBWInsts.cpp @@ -372,12 +372,16 @@ void FixupBWInstPass::processBasicBlock(MachineFunction &MF, LiveRegs.addLiveIns(MBB); auto NextCandidateIter = MIReplacements.begin(); + auto EndCandidateIter = MIReplacements.end(); for (auto I = MBB.begin(); I != MBB.end(); ++I) { MachineInstr *MI = &*I; SmallVector, 4> Clobbers; LiveRegs.stepForward(*MI, Clobbers); + if (NextCandidateIter == EndCandidateIter) + break; + // Only check and create a new instruction if this instruction is // known to be a candidate that didn't get transformed. if (NextCandidateIter->first == MI) { -- 2.50.1