50 lines · plain
1; REQUIRES: asserts2; RUN: llc < %s -O0 -frame-pointer=all -relocation-model=pic -stats 2>&1 | FileCheck %s3;4; This test should not cause any spilling with RAFast.5;6; CHECK: Number of copies coalesced7; CHECK-NOT: Number of stores added8;9target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"10target triple = "x86_64-apple-darwin10.0.0"11 12%0 = type { i64, i64, ptr, ptr }13%1 = type opaque14%2 = type opaque15%3 = type <{ ptr, i32, i32, ptr, ptr, i64 }>16%4 = type { ptr, i32, i32, ptr, ptr, i64 }17%5 = type { i64, i64 }18%6 = type { ptr, i32, i32, ptr, ptr }19 20@0 = external hidden constant %021 22define hidden void @f() ssp {23bb:24 %tmp5 = alloca i64, align 825 %tmp6 = alloca ptr, align 826 %tmp7 = alloca %3, align 827 store i64 0, ptr %tmp5, align 828 br label %bb829 30bb8: ; preds = %bb23, %bb31 %tmp15 = getelementptr inbounds %3, ptr %tmp7, i32 0, i32 432 store ptr @0, ptr %tmp1533 store ptr %tmp7, ptr %tmp6, align 834 %tmp17 = load ptr, ptr %tmp6, align 835 %tmp19 = getelementptr inbounds %6, ptr %tmp17, i32 0, i32 336 %tmp21 = load ptr, ptr %tmp1937 call void %tmp21(ptr %tmp17)38 br label %bb2339 40bb23: ; preds = %bb841 %tmp24 = load i64, ptr %tmp5, align 842 %tmp25 = add i64 %tmp24, 143 store i64 %tmp25, ptr %tmp5, align 844 %tmp26 = icmp ult i64 %tmp25, 1045 br i1 %tmp26, label %bb8, label %bb2746 47bb27: ; preds = %bb2348 ret void49}50