brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · e881c94 Raw
90 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2 3target triple = "hexagon"4 5; FP elimination enabled.6;7; CHECK-LABEL: danny:8; CHECK: r29 = add(r29,#-[[SIZE:[0-9]+]])9; CHECK: r29 = add(r29,#[[SIZE]])10define i32 @danny(i32 %a0, i32 %a1) local_unnamed_addr #0 {11b2:12  %v3 = alloca [32 x i32], align 813  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %v3) #314  br label %b515 16b5:                                               ; preds = %b5, %b217  %v6 = phi i32 [ 0, %b2 ], [ %v8, %b5 ]18  %v7 = getelementptr inbounds [32 x i32], ptr %v3, i32 0, i32 %v619  store i32 %v6, ptr %v7, align 420  %v8 = add nuw nsw i32 %v6, 121  %v9 = icmp eq i32 %v8, 3222  br i1 %v9, label %b10, label %b523 24b10:                                              ; preds = %b525  %v11 = getelementptr inbounds [32 x i32], ptr %v3, i32 0, i32 %a026  store i32 %a1, ptr %v11, align 427  br label %b1228 29b12:                                              ; preds = %b12, %b1030  %v13 = phi i32 [ 0, %b10 ], [ %v18, %b12 ]31  %v14 = phi i32 [ 0, %b10 ], [ %v17, %b12 ]32  %v15 = getelementptr inbounds [32 x i32], ptr %v3, i32 0, i32 %v1333  %v16 = load i32, ptr %v15, align 434  %v17 = add nsw i32 %v16, %v1435  %v18 = add nuw nsw i32 %v13, 136  %v19 = icmp eq i32 %v18, 3237  br i1 %v19, label %b20, label %b1238 39b20:                                              ; preds = %b1240  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %v3) #341  ret i32 %v1742}43 44; FP elimination disabled.45;46; CHECK-LABEL: sammy:47; CHECK: allocframe48; CHECK: dealloc_return49define i32 @sammy(i32 %a0, i32 %a1) local_unnamed_addr #1 {50b2:51  %v3 = alloca [32 x i32], align 852  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %v3) #353  br label %b554 55b5:                                               ; preds = %b5, %b256  %v6 = phi i32 [ 0, %b2 ], [ %v8, %b5 ]57  %v7 = getelementptr inbounds [32 x i32], ptr %v3, i32 0, i32 %v658  store i32 %v6, ptr %v7, align 459  %v8 = add nuw nsw i32 %v6, 160  %v9 = icmp eq i32 %v8, 3261  br i1 %v9, label %b10, label %b562 63b10:                                              ; preds = %b564  %v11 = getelementptr inbounds [32 x i32], ptr %v3, i32 0, i32 %a065  store i32 %a1, ptr %v11, align 466  br label %b1267 68b12:                                              ; preds = %b12, %b1069  %v13 = phi i32 [ 0, %b10 ], [ %v18, %b12 ]70  %v14 = phi i32 [ 0, %b10 ], [ %v17, %b12 ]71  %v15 = getelementptr inbounds [32 x i32], ptr %v3, i32 0, i32 %v1372  %v16 = load i32, ptr %v15, align 473  %v17 = add nsw i32 %v16, %v1474  %v18 = add nuw nsw i32 %v13, 175  %v19 = icmp eq i32 %v18, 3276  br i1 %v19, label %b20, label %b1277 78b20:                                              ; preds = %b1279  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %v3) #380  ret i32 %v1781}82 83declare void @llvm.lifetime.start.p0(i64, ptr nocapture) #284declare void @llvm.lifetime.end.p0(i64, ptr nocapture) #285 86attributes #0 = { nounwind readnone "frame-pointer"="none" "target-cpu"="hexagonv60" }87attributes #1 = { nounwind readnone "frame-pointer"="all" "target-cpu"="hexagonv60" }88attributes #2 = { argmemonly nounwind }89attributes #3 = { nounwind }90