brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 8aaeff6 Raw
34 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 62; RUN: opt < %s -passes=memcpyopt,mldst-motion,gvn -S | FileCheck %s3 4define void @foo(ptr %ret, i1 %x) {5; CHECK-LABEL: define void @foo(6; CHECK-SAME: ptr [[RET:%.*]], i1 [[X:%.*]]) {7; CHECK-NEXT:    [[A:%.*]] = alloca i8, align 18; CHECK-NEXT:    br i1 [[X]], label %[[YES:.*]], label %[[NO:.*]]9; CHECK:       [[YES]]:10; CHECK-NEXT:    br label %[[OUT:.*]]11; CHECK:       [[NO]]:12; CHECK-NEXT:    br label %[[OUT]]13; CHECK:       [[OUT]]:14; CHECK-NEXT:    store i8 5, ptr [[A]], align 115; CHECK-NEXT:    store i8 5, ptr [[RET]], align 116; CHECK-NEXT:    ret void17;18  %a = alloca i819  br i1 %x, label %yes, label %no20 21yes:                                              ; preds = %022  store i8 5, ptr %a23  br label %out24 25no:                                               ; preds = %026  store i8 5, ptr %a27  br label %out28 29out:                                              ; preds = %no, %yes30  %tmp = load i8, ptr %a31  store i8 %tmp, ptr %ret32  ret void33}34