brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · b961a55 Raw
52 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 62; RUN: opt -passes=gvn < %s -S -o - | FileCheck %s3 4define void @f() {5; CHECK-LABEL: define void @f() {6; CHECK-NEXT:  [[ENTRY:.*:]]7; CHECK-NEXT:    [[A:%.*]] = alloca <7 x i1>, align 28; CHECK-NEXT:    store <7 x i1> undef, ptr [[A]], align 29; CHECK-NEXT:    [[VAL:%.*]] = load i1, ptr [[A]], align 210; CHECK-NEXT:    br i1 [[VAL]], label %[[COND_TRUE:.*]], label %[[COND_FALSE:.*]]11; CHECK:       [[COND_TRUE]]:12; CHECK-NEXT:    ret void13; CHECK:       [[COND_FALSE]]:14; CHECK-NEXT:    ret void15;16entry:17  %a = alloca <7 x i1>, align 218  store <7 x i1> undef, ptr %a, align 219  %val = load i1, ptr %a, align 220  br i1 %val, label %cond.true, label %cond.false21 22cond.true:23  ret void24 25cond.false:26  ret void27}28 29define <7 x i1> @g(ptr %a) {30; CHECK-LABEL: define <7 x i1> @g(31; CHECK-SAME: ptr [[A:%.*]]) {32; CHECK-NEXT:  [[ENTRY:.*:]]33; CHECK-NEXT:    [[VEC:%.*]] = load <7 x i1>, ptr [[A]], align 134; CHECK-NEXT:    [[VAL:%.*]] = load i1, ptr [[A]], align 235; CHECK-NEXT:    br i1 [[VAL]], label %[[COND_TRUE:.*]], label %[[COND_FALSE:.*]]36; CHECK:       [[COND_TRUE]]:37; CHECK-NEXT:    ret <7 x i1> [[VEC]]38; CHECK:       [[COND_FALSE]]:39; CHECK-NEXT:    ret <7 x i1> zeroinitializer40;41entry:42  %vec = load <7 x i1>, ptr %a43  %val = load i1, ptr %a, align 244  br i1 %val, label %cond.true, label %cond.false45 46cond.true:47  ret <7 x i1> %vec48 49cond.false:50  ret <7 x i1> <i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false>51}52