brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 8669935 Raw
74 lines · plain
1;PR15293: ARM codegen ice - expected larger existing stack allocation2;RUN: llc -mtriple=arm-linux-gnueabihf < %s | FileCheck %s3 4;CHECK-LABEL: foo:5;CHECK: 	sub	sp, sp, #166;CHECK: 	push	{r11, lr}7;CHECK: 	str	r0, [sp, #8]8;CHECK: 	add	r0, sp, #89;CHECK: 	bl	fooUseParam10;CHECK: 	pop	{r11, lr}11;CHECK: 	add	sp, sp, #1612;CHECK: 	mov	pc, lr13 14;CHECK-LABEL: foo2:15;CHECK: 	sub	sp, sp, #1616;CHECK: 	push	{r11, lr}17;CHECK: 	str	r0, [sp, #8]18;CHECK: 	add	r0, sp, #819;CHECK: 	str	r2, [sp, #16]20;CHECK: 	bl	fooUseParam21;CHECK: 	add	r0, sp, #1622;CHECK: 	bl	fooUseParam23;CHECK: 	pop	{r11, lr}24;CHECK: 	add	sp, sp, #1625;CHECK: 	mov	pc, lr26 27;CHECK-LABEL: doFoo:28;CHECK: 	push	{r11, lr}29;CHECK: 	ldr	r0,30;CHECK: 	ldr	r0, [r0]31;CHECK: 	bl	foo32;CHECK: 	pop	{r11, lr}33;CHECK: 	mov	pc, lr34 35 36;CHECK-LABEL: doFoo2:37;CHECK: 	push	{r11, lr}38;CHECK: 	ldr	r0,39;CHECK: 	mov	r1, #040;CHECK: 	ldr	r0, [r0]41;CHECK: 	mov	r2, r042;CHECK: 	bl	foo243;CHECK: 	pop	{r11, lr}44;CHECK: 	mov	pc, lr45 46 47%artz = type { i32 }48@static_val = constant %artz { i32 777 }49 50declare void @fooUseParam(ptr )51 52define void @foo(ptr byval(%artz) %s) {53  call void @fooUseParam(ptr %s)54  ret void55}56 57define void @foo2(ptr byval(%artz) %s, i32 %p, ptr byval(%artz) %s2) {58  call void @fooUseParam(ptr %s)59  call void @fooUseParam(ptr %s2)60  ret void61}62 63 64define void @doFoo() {65  call void @foo(ptr byval(%artz) @static_val)66  ret void67}68 69define void @doFoo2() {70  call void @foo2(ptr byval(%artz) @static_val, i32 0, ptr byval(%artz) @static_val)71  ret void72}73 74