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