brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 9c64bfb Raw
52 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -S -passes=instcombine < %s | FileCheck %s3 4; Make sure this does not crash.5 6define void @pr150338(ptr %arg) {7; CHECK-LABEL: define void @pr150338(8; CHECK-SAME: ptr [[ARG:%.*]]) {9; CHECK-NEXT:    store i1 true, ptr poison, align 110; CHECK-NEXT:    ret void11;12  %a = alloca i3213  store ptr %a, ptr %arg14  store i1 true, ptr poison15  call void @llvm.lifetime.end.p0(ptr %a)16  ret void17}18 19define ptr @pr151119() {20; CHECK-LABEL: define ptr @pr151119() {21; CHECK-NEXT:  [[ENTRY:.*:]]22; CHECK-NEXT:    store i1 false, ptr poison, align 123; CHECK-NEXT:    br i1 false, label %[[BB1:.*]], label %[[BB2:.*]]24; CHECK:       [[BB1]]:25; CHECK-NEXT:    br label %[[BB2]]26; CHECK:       [[BB2]]:27; CHECK-NEXT:    br label %[[BB1]]28;29entry:30  %a = alloca i32, align 431  store i1 false, ptr poison32  br i1 false, label %bb1, label %bb233 34bb1:35  %phi1 = phi ptr [ null, %entry ], [ %phi2, %bb2 ]36  call void @llvm.lifetime.start.p0(ptr %a)37  br label %bb238 39bb2:40  %phi2 = phi ptr [ null, %entry ], [ %a, %bb1 ]41  br label %bb142}43 44define void @lifetime_poison() {45; CHECK-LABEL: define void @lifetime_poison() {46; CHECK-NEXT:    ret void47;48  call void @llvm.lifetime.start.p0(ptr poison)49  call void @llvm.lifetime.end.p0(ptr poison)50  ret void51}52