[llvm] r200445 - Revert "[Stackmaps] Record the stack size of each function that contains a stackmap/patchpoint intrinsic."

Juergen Ributzka juergen at apple.com
Wed Jan 29 19:34:02 PST 2014


Author: ributzka
Date: Wed Jan 29 21:34:02 2014
New Revision: 200445

URL: http://llvm.org/viewvc/llvm-project?rev=200445&view=rev
Log:
Revert "[Stackmaps] Record the stack size of each function that contains a stackmap/patchpoint intrinsic."

This reverts commit r200444 to unbreak buildbots.

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

Modified: llvm/trunk/docs/StackMaps.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/StackMaps.rst?rev=200445&r1=200444&r2=200445&view=diff
==============================================================================
--- llvm/trunk/docs/StackMaps.rst (original)
+++ llvm/trunk/docs/StackMaps.rst Wed Jan 29 21:34:02 2014
@@ -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

Modified: llvm/trunk/include/llvm/CodeGen/StackMaps.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/StackMaps.h?rev=200445&r1=200444&r2=200445&view=diff
==============================================================================
--- llvm/trunk/include/llvm/CodeGen/StackMaps.h (original)
+++ llvm/trunk/include/llvm/CodeGen/StackMaps.h Wed Jan 29 21:34:02 2014
@@ -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,

Modified: llvm/trunk/lib/CodeGen/StackMaps.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/StackMaps.cpp?rev=200445&r1=200444&r2=200445&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/StackMaps.cpp (original)
+++ llvm/trunk/lib/CodeGen/StackMaps.cpp Wed Jan 29 21:34:02 2014
@@ -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(cons
     }
   }
 
-  // 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 M
 /// 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::serializeToStackMapSecti
   // 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);
 

Modified: llvm/trunk/test/CodeGen/X86/anyregcc.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/anyregcc.ll?rev=200445&r1=200444&r2=200445&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/anyregcc.ll (original)
+++ llvm/trunk/test/CodeGen/X86/anyregcc.ll Wed Jan 29 21:34:02 2014
@@ -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
 }

Modified: llvm/trunk/test/CodeGen/X86/stackmap-liveness.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/stackmap-liveness.ll?rev=200445&r1=200444&r2=200445&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/stackmap-liveness.ll (original)
+++ llvm/trunk/test/CodeGen/X86/stackmap-liveness.ll Wed Jan 29 21:34:02 2014
@@ -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

Modified: llvm/trunk/test/CodeGen/X86/stackmap.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/stackmap.ll?rev=200445&r1=200444&r2=200445&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/stackmap.ll (original)
+++ llvm/trunk/test/CodeGen/X86/stackmap.ll Wed Jan 29 21:34:02 2014
@@ -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





More information about the llvm-commits mailing list