Index: lib/CodeGen/AggressiveAntiDepBreaker.cpp =================================================================== --- lib/CodeGen/AggressiveAntiDepBreaker.cpp +++ lib/CodeGen/AggressiveAntiDepBreaker.cpp @@ -858,6 +858,10 @@ // the use if required to break an earlier antidep. DEBUG(dbgs() << " (passthru)\n"); continue; + } else if ((RegClassInfo.getLastCalleeSavedAlias(AntiDepReg) != 0) && + (RegRefs.count(AntiDepReg) == 1)) { + // Don't rename callee saved register restore instruction. + continue; } else { // No anti-dep breaking for implicit deps MachineOperand *AntiDepOp = MI.findRegisterDefOperand(AntiDepReg);