brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 7c38147 Raw
54 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 62; RUN: opt -passes=newgvn -S < %s | FileCheck %s3;; Ensure we don't crash when simplifying aggregate value expressions4source_filename = "bugpoint-output-09f7a24.bc"5 6@WHOLELINE = external local_unnamed_addr global i32, align 47 8; Function Attrs: nounwind uwtable9define void @sgrep() local_unnamed_addr {10; CHECK-LABEL: define void @sgrep(11; CHECK-SAME: ) local_unnamed_addr {12; CHECK-NEXT:  [[ENTRY:.*]]:13; CHECK-NEXT:    [[TMP0:%.*]] = load i32, ptr @WHOLELINE, align 4, !tbaa [[INT_TBAA1:![0-9]+]]14; CHECK-NEXT:    [[TOBOOL:%.*]] = icmp eq i32 [[TMP0]], 015; CHECK-NEXT:    [[DOT:%.*]] = select i1 [[TOBOOL]], i32 2048, i32 204716; CHECK-NEXT:    br label %[[WHILE_BODY_US:.*]]17; CHECK:       [[WHILE_BODY_US]]:18; CHECK-NEXT:    [[START_1230_US:%.*]] = phi i32 [ [[DOT]], %[[ENTRY]] ], [ 0, %[[WHILE_BODY_US]] ]19; CHECK-NEXT:    [[TMP1:%.*]] = sext i32 [[START_1230_US]] to i6420; CHECK-NEXT:    [[TMP2:%.*]] = call { i64, i1 } @llvm.sadd.with.overflow.i64(i64 0, i64 [[TMP1]])21; CHECK-NEXT:    br label %[[WHILE_BODY_US]]22;23entry:24  %0 = load i32, ptr @WHOLELINE, align 4, !tbaa !125  %tobool = icmp eq i32 %0, 026  %. = select i1 %tobool, i32 2048, i32 204727  br label %while.body.us28 29while.body.us:                                    ; preds = %while.body.us, %entry30  %start.1230.us = phi i32 [ %., %entry ], [ 0, %while.body.us ]31  %1 = sext i32 %start.1230.us to i6432  %2 = call { i64, i1 } @llvm.sadd.with.overflow.i64(i64 0, i64 %1)33  %.res302 = extractvalue { i64, i1 } %2, 034  %3 = icmp sge i64 undef, %.res30235  br label %while.body.us36}37 38; Function Attrs: nounwind readnone speculatable39declare { i64, i1 } @llvm.sadd.with.overflow.i64(i64, i64)40 41!llvm.ident = !{!0}42 43!0 = !{!"clang version 6.0.0 (trunk 311664) (llvm/trunk 311666)"}44!1 = !{!2, !2, i64 0}45!2 = !{!"int", !3, i64 0}46!3 = !{!"omnipotent char", !4, i64 0}47!4 = !{!"Simple C/C++ TBAA"}48;.49; CHECK: [[INT_TBAA1]] = !{[[META2:![0-9]+]], [[META2]], i64 0}50; CHECK: [[META2]] = !{!"int", [[META3:![0-9]+]], i64 0}51; CHECK: [[META3]] = !{!"omnipotent char", [[META4:![0-9]+]], i64 0}52; CHECK: [[META4]] = !{!"Simple C/C++ TBAA"}53;.54