Revert "[Stackmaps] Record the stack size of each function that contains a stackmap...
authorJuergen Ributzka <juergen@apple.com>
Thu, 30 Jan 2014 03:34:02 +0000 (03:34 +0000)
committerJuergen Ributzka <juergen@apple.com>
Thu, 30 Jan 2014 03:34:02 +0000 (03:34 +0000)
This reverts commit r200444 to unbreak buildbots.

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

docs/StackMaps.rst
include/llvm/CodeGen/StackMaps.h
lib/CodeGen/StackMaps.cpp
test/CodeGen/X86/anyregcc.ll
test/CodeGen/X86/stackmap-liveness.ll
test/CodeGen/X86/stackmap.ll

index 57c37ea2f5ca2798dfb62fe70c8fd0549023cdfd..0dac62b595d02c488d0f55baa5492dbf6e9eda23 100644 (file)
@@ -314,11 +314,6 @@ format of this section follows:
 .. code-block:: none
 
   uint32 : Reserved (header)
-  uint32 : NumFunctions
-  StkSizeRecord[NumFunctions] {
-    uint32 : Function Offset
-    uint32 : Stack Size
-  }
   uint32 : NumConstants
   Constants[NumConstants] {
     uint64 : LargeConstant
index bd4c3db3d3f15a88a4e88427688a36ee4d000227..508606ac9babece27b48a11647747960bbb9d029 100644 (file)
@@ -11,7 +11,6 @@
 #ifndef LLVM_STACKMAPS
 #define LLVM_STACKMAPS
 
-#include "llvm/ADT/MapVector.h"
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/CodeGen/MachineInstr.h"
 #include <map>
@@ -133,7 +132,6 @@ public:
 private:
   typedef SmallVector<Location, 8> LocationVec;
   typedef SmallVector<LiveOutReg, 8> LiveOutVec;
-  typedef MapVector<const MCSymbol *, uint32_t> FnStackSizeMap;
 
   struct CallsiteInfo {
     const MCExpr *CSOffsetExpr;
@@ -172,7 +170,6 @@ private:
   AsmPrinter &AP;
   CallsiteInfoList CSInfos;
   ConstantPool ConstPool;
-  FnStackSizeMap FnStackSize;
 
   MachineInstr::const_mop_iterator
   parseOperand(MachineInstr::const_mop_iterator MOI,
index 8adaf0bcc160035ec95636a30885458a273a4861..79c1e7dce55080fa29417db5f599a4d8c375f81d 100644 (file)
@@ -11,8 +11,6 @@
 
 #include "llvm/CodeGen/StackMaps.h"
 #include "llvm/CodeGen/AsmPrinter.h"
-#include "llvm/CodeGen/MachineFunction.h"
-#include "llvm/CodeGen/MachineFrameInfo.h"
 #include "llvm/CodeGen/MachineInstr.h"
 #include "llvm/IR/DataLayout.h"
 #include "llvm/MC/MCContext.h"
@@ -218,19 +216,12 @@ void StackMaps::recordStackMapOpers(const MachineInstr &MI, uint64_t ID,
     }
   }
 
-  // Create an expression to calculate the offset of the callsite from function
-  // entry.
   const MCExpr *CSOffsetExpr = MCBinaryExpr::CreateSub(
     MCSymbolRefExpr::Create(MILabel, OutContext),
     MCSymbolRefExpr::Create(AP.CurrentFnSym, OutContext),
     OutContext);
 
   CSInfos.push_back(CallsiteInfo(CSOffsetExpr, ID, Locations, LiveOuts));
-
-  // Record the stack size of the current function.
-  const MachineFrameInfo *MFI = AP.MF->getFrameInfo();
-  FnStackSize[AP.CurrentFnSym] =
-    MFI->hasVarSizedObjects() ? ~0U : MFI->getStackSize();
 }
 
 void StackMaps::recordStackMap(const MachineInstr &MI) {
@@ -267,11 +258,6 @@ void StackMaps::recordPatchPoint(const MachineInstr &MI) {
 /// serializeToStackMapSection conceptually populates the following fields:
 ///
 /// uint32 : Reserved (header)
-/// uint32 : NumFunctions
-/// StkSizeRecord[NumFunctions] {
-///   uint32 : Function Offset
-///   uint32 : Stack Size
-/// }
 /// uint32 : NumConstants
 /// int64  : Constants[NumConstants]
 /// uint32 : NumRecords
@@ -327,16 +313,6 @@ void StackMaps::serializeToStackMapSection() {
   // Header.
   AP.OutStreamer.EmitIntValue(0, 4);
 
-  // Num functions.
-  AP.OutStreamer.EmitIntValue(FnStackSize.size(), 4);
-
-  // Stack size entries.
-  for (FnStackSizeMap::iterator I = FnStackSize.begin(), E = FnStackSize.end();
-       I != E; ++I) {
-    AP.EmitLabelReference(I->first, 4, true);
-    AP.OutStreamer.EmitIntValue(I->second, 4);
-  }
-
   // Num constants.
   AP.OutStreamer.EmitIntValue(ConstPool.getNumConstants(), 4);
 
index 23f5d4378e6356f363a24775ef1166b8a6162970..d0b6665b15629a3d169e9301988e5d9c76831ea5 100644 (file)
@@ -1,31 +1,13 @@
-; RUN: llc < %s -mtriple=x86_64-apple-darwin                  -disable-fp-elim | FileCheck %s
-; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7     -disable-fp-elim | FileCheck --check-prefix=SSE %s
-; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx -disable-fp-elim | FileCheck --check-prefix=AVX %s
+; RUN: llc < %s -mtriple=x86_64-apple-darwin -disable-fp-elim | FileCheck %s
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=corei7     | FileCheck --check-prefix=SSE %s
+; RUN: llc < %s -march=x86-64 -mcpu=corei7-avx | FileCheck --check-prefix=AVX %s
 
 
 ; Stackmap Header: no constants - 6 callsites
-; CHECK-LABEL:  .section __LLVM_STACKMAPS,__llvm_stackmaps
-; CHECK-NEXT:   __LLVM_StackMaps:
+; CHECK-LABEL: .section        __LLVM_STACKMAPS,__llvm_stackmaps
+; CHECK-NEXT:  __LLVM_StackMaps:
 ; Header
-; CHECK-NEXT:   .long 0
-; Num Functions
-; CHECK-NEXT:   .long 8
-; CHECK-NEXT:   .long _test
-; CHECK-NEXT:   .long 8
-; CHECK-NEXT:   .long _property_access1
-; CHECK-NEXT:   .long 8
-; CHECK-NEXT:   .long _property_access2
-; CHECK-NEXT:   .long 24
-; CHECK-NEXT:   .long _property_access3
-; CHECK-NEXT:   .long 24
-; CHECK-NEXT:   .long _anyreg_test1
-; CHECK-NEXT:   .long 56
-; CHECK-NEXT:   .long _anyreg_test2
-; CHECK-NEXT:   .long 56
-; CHECK-NEXT:   .long _patchpoint_spilldef
-; CHECK-NEXT:   .long 56
-; CHECK-NEXT:   .long _patchpoint_spillargs
-; CHECK-NEXT:   .long 88
+; CHECK-NEXT:   .long   0
 ; Num Constants
 ; CHECK-NEXT:   .long   0
 ; Num Callsites
@@ -361,8 +343,8 @@ entry:
 define anyregcc void @anyregcc1() {
 entry:
 ;SSE-LABEL: anyregcc1
-;SSE:      pushq %rbp
 ;SSE:      pushq %rax
+;SSE:      pushq %rbp
 ;SSE:      pushq %r15
 ;SSE:      pushq %r14
 ;SSE:      pushq %r13
@@ -393,8 +375,8 @@ entry:
 ;SSE-NEXT: movaps %xmm1
 ;SSE-NEXT: movaps %xmm0
 ;AVX-LABEL:anyregcc1
-;AVX:      pushq %rbp
 ;AVX:      pushq %rax
+;AVX:      pushq %rbp
 ;AVX:      pushq %r15
 ;AVX:      pushq %r14
 ;AVX:      pushq %r13
@@ -408,22 +390,22 @@ entry:
 ;AVX:      pushq %rdx
 ;AVX:      pushq %rcx
 ;AVX:      pushq %rbx
-;AVX:      vmovaps %ymm15
-;AVX-NEXT: vmovaps %ymm14
-;AVX-NEXT: vmovaps %ymm13
-;AVX-NEXT: vmovaps %ymm12
-;AVX-NEXT: vmovaps %ymm11
-;AVX-NEXT: vmovaps %ymm10
-;AVX-NEXT: vmovaps %ymm9
-;AVX-NEXT: vmovaps %ymm8
-;AVX-NEXT: vmovaps %ymm7
-;AVX-NEXT: vmovaps %ymm6
-;AVX-NEXT: vmovaps %ymm5
-;AVX-NEXT: vmovaps %ymm4
-;AVX-NEXT: vmovaps %ymm3
-;AVX-NEXT: vmovaps %ymm2
-;AVX-NEXT: vmovaps %ymm1
-;AVX-NEXT: vmovaps %ymm0
+;AVX:      vmovups %ymm15
+;AVX-NEXT: vmovups %ymm14
+;AVX-NEXT: vmovups %ymm13
+;AVX-NEXT: vmovups %ymm12
+;AVX-NEXT: vmovups %ymm11
+;AVX-NEXT: vmovups %ymm10
+;AVX-NEXT: vmovups %ymm9
+;AVX-NEXT: vmovups %ymm8
+;AVX-NEXT: vmovups %ymm7
+;AVX-NEXT: vmovups %ymm6
+;AVX-NEXT: vmovups %ymm5
+;AVX-NEXT: vmovups %ymm4
+;AVX-NEXT: vmovups %ymm3
+;AVX-NEXT: vmovups %ymm2
+;AVX-NEXT: vmovups %ymm1
+;AVX-NEXT: vmovups %ymm0
   call void asm sideeffect "", "~{rax},~{rbx},~{rcx},~{rdx},~{rsi},~{rdi},~{r8},~{r9},~{r10},~{r11},~{r12},~{r13},~{r14},~{r15},~{rbp},~{xmm0},~{xmm1},~{xmm2},~{xmm3},~{xmm4},~{xmm5},~{xmm6},~{xmm7},~{xmm8},~{xmm9},~{xmm10},~{xmm11},~{xmm12},~{xmm13},~{xmm14},~{xmm15}"()
   ret void
 }
index 570e373229e358272e3a04df1d7d896c48fbd55f..b1a931dd7c43582f9db725d686f7d2a0407252cb 100644 (file)
@@ -6,13 +6,7 @@
 
 ; CHECK-LABEL:  .section  __LLVM_STACKMAPS,__llvm_stackmaps
 ; CHECK-NEXT:   __LLVM_StackMaps:
-; CHECK-NEXT:   .long 0
-; Num Functions
-; CHECK-NEXT:   .long 2
-; CHECK-NEXT:   .long _stackmap_liveness
-; CHECK-NEXT:   .long 8
-; CHECK-NEXT:   .long _mixed_liveness
-; CHECK-NEXT:   .long 8
+; CHECK-NEXT:   .long   0
 ; Num LargeConstants
 ; CHECK-NEXT:   .long   0
 ; Num Callsites
index 2b7bb183007c92f8d6bd36c3671711545c5cee76..02060eb11f555232551d4512c1de3d2ed53d7d84 100644 (file)
@@ -4,37 +4,7 @@
 
 ; CHECK-LABEL:  .section  __LLVM_STACKMAPS,__llvm_stackmaps
 ; CHECK-NEXT:  __LLVM_StackMaps:
-; CHECK-NEXT:   .long 0
-; Num Functions
-; CHECK-NEXT:   .long 14
-; CHECK-NEXT:   .long _constantargs
-; CHECK-NEXT:   .long 8
-; CHECK-NEXT:   .long _osrinline
-; CHECK-NEXT:   .long 24
-; CHECK-NEXT:   .long _osrcold
-; CHECK-NEXT:   .long 8
-; CHECK-NEXT:   .long _propertyRead
-; CHECK-NEXT:   .long 8
-; CHECK-NEXT:   .long _propertyWrite
-; CHECK-NEXT:   .long 8
-; CHECK-NEXT:   .long _jsVoidCall
-; CHECK-NEXT:   .long 8
-; CHECK-NEXT:   .long _jsIntCall
-; CHECK-NEXT:   .long 8
-; CHECK-NEXT:   .long _spilledValue
-; CHECK-NEXT:   .long 56
-; CHECK-NEXT:   .long _spilledStackMapValue
-; CHECK-NEXT:   .long 56
-; CHECK-NEXT:   .long _spillSubReg
-; CHECK-NEXT:   .long 56
-; CHECK-NEXT:   .long _subRegOffset
-; CHECK-NEXT:   .long 56
-; CHECK-NEXT:   .long _liveConstant
-; CHECK-NEXT:   .long 8
-; CHECK-NEXT:   .long _directFrameIdx
-; CHECK-NEXT:   .long 56
-; CHECK-NEXT:   .long _longid
-; CHECK-NEXT:   .long 8
+; CHECK-NEXT:   .long   0
 ; Num LargeConstants
 ; CHECK-NEXT:   .long   3
 ; CHECK-NEXT:   .quad   2147483648