summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuergen Ributzka <juergen@apple.com>2014-01-30 03:34:02 +0000
committerJuergen Ributzka <juergen@apple.com>2014-01-30 03:34:02 +0000
commitd26c0e731ced4dfcb1dfe9c67b0822fe96d0ad6a (patch)
tree040894fc0c18d09dfdfec8693a253bcf998cb8c5
parent2baaf25bf507f441a6d4580fe11dcb23a9ea0c1d (diff)
downloadllvm-d26c0e731ced4dfcb1dfe9c67b0822fe96d0ad6a.tar.gz
llvm-d26c0e731ced4dfcb1dfe9c67b0822fe96d0ad6a.tar.bz2
llvm-d26c0e731ced4dfcb1dfe9c67b0822fe96d0ad6a.tar.xz
Revert "[Stackmaps] Record the stack size of each function that contains a stackmap/patchpoint intrinsic."
This reverts commit r200444 to unbreak buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200445 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--docs/StackMaps.rst5
-rw-r--r--include/llvm/CodeGen/StackMaps.h3
-rw-r--r--lib/CodeGen/StackMaps.cpp24
-rw-r--r--test/CodeGen/X86/anyregcc.ll66
-rw-r--r--test/CodeGen/X86/stackmap-liveness.ll8
-rw-r--r--test/CodeGen/X86/stackmap.ll32
6 files changed, 26 insertions, 112 deletions
diff --git a/docs/StackMaps.rst b/docs/StackMaps.rst
index 57c37ea2f5..0dac62b595 100644
--- a/docs/StackMaps.rst
+++ b/docs/StackMaps.rst
@@ -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
diff --git a/include/llvm/CodeGen/StackMaps.h b/include/llvm/CodeGen/StackMaps.h
index bd4c3db3d3..508606ac9b 100644
--- a/include/llvm/CodeGen/StackMaps.h
+++ b/include/llvm/CodeGen/StackMaps.h
@@ -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,
diff --git a/lib/CodeGen/StackMaps.cpp b/lib/CodeGen/StackMaps.cpp
index 8adaf0bcc1..79c1e7dce5 100644
--- a/lib/CodeGen/StackMaps.cpp
+++ b/lib/CodeGen/StackMaps.cpp
@@ -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);
diff --git a/test/CodeGen/X86/anyregcc.ll b/test/CodeGen/X86/anyregcc.ll
index 23f5d4378e..d0b6665b15 100644
--- a/test/CodeGen/X86/anyregcc.ll
+++ b/test/CodeGen/X86/anyregcc.ll
@@ -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
}
diff --git a/test/CodeGen/X86/stackmap-liveness.ll b/test/CodeGen/X86/stackmap-liveness.ll
index 570e373229..b1a931dd7c 100644
--- a/test/CodeGen/X86/stackmap-liveness.ll
+++ b/test/CodeGen/X86/stackmap-liveness.ll
@@ -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
diff --git a/test/CodeGen/X86/stackmap.ll b/test/CodeGen/X86/stackmap.ll
index 2b7bb18300..02060eb11f 100644
--- a/test/CodeGen/X86/stackmap.ll
+++ b/test/CodeGen/X86/stackmap.ll
@@ -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