Index: lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp =================================================================== --- lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp +++ lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp @@ -553,16 +553,6 @@ CompactUnwindEncoding |= (StackAdjust & 0xFF) << 16; CompactUnwindEncoding |= RegEnc & CU::UNWIND_BP_FRAME_REGISTERS; } else { - // If the amount of the stack allocation is the size of a register, then - // we "push" the RAX/EAX register onto the stack instead of adjusting the - // stack pointer with a SUB instruction. We don't support the push of the - // RAX/EAX register with compact unwind. So we check for that situation - // here. - if ((NumDefCFAOffsets == SavedRegIdx + 1 && - StackSize - PrevStackSize == 1) || - (Instrs.size() == 1 && NumDefCFAOffsets == 1 && StackSize == 2)) - return CU::UNWIND_MODE_DWARF; - SubtractInstrIdx += InstrOffset; ++StackAdjust;