diff --git a/lib/Target/X86/X86FrameLowering.h b/lib/Target/X86/X86FrameLowering.h index 68dc8edfd430..d90a3935b3fa 100644 --- a/lib/Target/X86/X86FrameLowering.h +++ b/lib/Target/X86/X86FrameLowering.h @@ -143,6 +143,11 @@ class X86FrameLowering : public TargetFrameLowering { MachineBasicBlock::iterator I, uint64_t Amount) const; + /// Returns true if the target will correctly handle shrink wrapping. + bool enableShrinkWrapping(const MachineFunction &MF) const override { + return true; + } + /// Wraps up getting a CFI index and building a MachineInstr for it. void BuildCFI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, DebugLoc DL, MCCFIInstruction CFIInst) const; diff --git a/test/CodeGen/X86/tail-opts.ll b/test/CodeGen/X86/tail-opts.ll index c522ba60d6bf..bf778e5bad2b 100644 --- a/test/CodeGen/X86/tail-opts.ll +++ b/test/CodeGen/X86/tail-opts.ll @@ -277,8 +277,8 @@ declare fastcc %union.tree_node* @default_conversion(%union.tree_node*) nounwind ; CHECK-LABEL: foo: ; CHECK: callq func -; CHECK-NEXT: .LBB4_2: ; CHECK-NEXT: popq +; CHECK-NEXT: .LBB4_2: ; CHECK-NEXT: ret define void @foo(i1* %V) nounwind {