Index: lib/Target/X86/X86OptimizeLEAs.cpp =================================================================== --- lib/Target/X86/X86OptimizeLEAs.cpp +++ lib/Target/X86/X86OptimizeLEAs.cpp @@ -514,8 +514,12 @@ MachineInstr *DefMI; int64_t AddrDispShift; int Dist; - if (!chooseBestLEA(LEAs[getMemOpKey(MI, MemOpNo)], MI, DefMI, AddrDispShift, - Dist)) + MemOpKey key = getMemOpKey(MI, MemOpNo); + + if (!LEAs.count(key)) + continue; + + if (!chooseBestLEA(LEAs[key], MI, DefMI, AddrDispShift, Dist)) continue; // If LEA occurs before current instruction, we can freely replace