42 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -passes=newgvn -S | FileCheck %s3target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"4 5%struct.foo = type { i32, i32, [2 x [4 x [6 x [6 x i16]]]] }6 7@global = external global ptr8 9define void @bar(i1 %arg) {10; CHECK-LABEL: @bar(11; CHECK-NEXT: bb:12; CHECK-NEXT: [[TMP:%.*]] = load ptr, ptr @global, align 813; CHECK-NEXT: br label [[BB2:%.*]]14; CHECK: bb2:15; CHECK-NEXT: br i1 %arg, label [[BB2]], label [[BB7:%.*]]16; CHECK: bb7:17; CHECK-NEXT: br label [[BB10:%.*]]18; CHECK: bb10:19; CHECK-NEXT: br label [[BB10]]20;21bb:22 %tmp = load ptr, ptr @global23 %tmp1 = getelementptr %struct.foo, ptr %tmp24 br label %bb225 26bb2: ; preds = %bb2, %bb27 %tmp3 = phi ptr [ poison, %bb ], [ %tmp6, %bb2 ]28 %tmp4 = getelementptr %struct.foo, ptr %tmp3, i64 0, i32 129 %tmp5 = load i32, ptr %tmp430 %tmp6 = load ptr, ptr @global31 br i1 %arg, label %bb2, label %bb732 33bb7: ; preds = %bb234 %tmp8 = phi ptr [ %tmp6, %bb2 ]35 %tmp9 = getelementptr %struct.foo, ptr %tmp8, i64 0, i32 136 br label %bb1037 38bb10: ; preds = %bb10, %bb739 %tmp11 = load i32, ptr %tmp940 br label %bb1041}42