Revert r253528: "[X86] Enable shrink-wrapping by default."
authorHans Wennborg <hans@hanshq.net>
Wed, 25 Nov 2015 00:05:13 +0000 (00:05 +0000)
committerHans Wennborg <hans@hanshq.net>
Wed, 25 Nov 2015 00:05:13 +0000 (00:05 +0000)
This caused PR25607 and also caused Chromium to crash on start-up.

(Also had to update test/CodeGen/X86/avx-splat.ll, which was committed
after shrink wrapping was enabled.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254044 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86FrameLowering.h
test/CodeGen/X86/avx-splat.ll
test/CodeGen/X86/tail-opts.ll

index d90a3935b3fa473158e53c8466fbdf13ff3fd67e..68dc8edfd4309b660156097dec3674a55cc1a242 100644 (file)
@@ -143,11 +143,6 @@ public:
                               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;
index dadeaaf6c0503fa8ad754cb010abfe9b2fbed890..2fdea2eb2562449b10f99121eb24d38d0b0c0ac7 100644 (file)
@@ -57,19 +57,19 @@ entry:
 define <8 x float> @funcE() nounwind {
 ; CHECK-LABEL: funcE:
 ; CHECK:       ## BB#0: ## %for_exit499
+; CHECK-NEXT:    pushq %rbp
+; CHECK-NEXT:    movq %rsp, %rbp
+; CHECK-NEXT:    andq $-32, %rsp
+; CHECK-NEXT:    subq $1312, %rsp ## imm = 0x520
 ; CHECK-NEXT:    xorl %eax, %eax
 ; CHECK-NEXT:    ## implicit-def: %YMM0
 ; CHECK-NEXT:    testb %al, %al
 ; CHECK-NEXT:    jne LBB4_2
 ; CHECK-NEXT:  ## BB#1: ## %load.i1247
-; CHECK-NEXT:    pushq %rbp
-; CHECK-NEXT:    movq %rsp, %rbp
-; CHECK-NEXT:    andq $-32, %rsp
-; CHECK-NEXT:    subq $1312, %rsp ## imm = 0x520
 ; CHECK-NEXT:    vbroadcastss {{[0-9]+}}(%rsp), %ymm0
+; CHECK-NEXT:  LBB4_2: ## %__load_and_broadcast_32.exit1249
 ; CHECK-NEXT:    movq %rbp, %rsp
 ; CHECK-NEXT:    popq %rbp
-; CHECK-NEXT:  LBB4_2: ## %__load_and_broadcast_32.exit1249
 ; CHECK-NEXT:    retq
 allocas:
   %udx495 = alloca [18 x [18 x float]], align 32
index bf778e5bad2ba5d25dba1389729db50bf44c9892..c522ba60d6bf6d411490a5b0fc2a4541208f13e2 100644 (file)
@@ -277,8 +277,8 @@ declare fastcc %union.tree_node* @default_conversion(%union.tree_node*) nounwind
 
 ; CHECK-LABEL: foo:
 ; CHECK:        callq func
-; CHECK-NEXT:   popq
 ; CHECK-NEXT: .LBB4_2:
+; CHECK-NEXT:   popq
 ; CHECK-NEXT:   ret
 
 define void @foo(i1* %V) nounwind {