brintos

brintos / llvm-project-archived public Read only

0
0
Text · 915 B · 3ca9b9e Raw
31 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 42; RUN: opt -passes=newgvn -S < %s | FileCheck %s3 4; Check that an unreachable predecessor to a PHI node doesn't cause a crash.5; PR21625.6 7define i32 @f(ptr %f) {8; CHECK-LABEL: define i32 @f(9; CHECK-SAME: ptr [[F:%.*]]) {10; CHECK-NEXT:  bb0:11; CHECK-NEXT:    br label [[BB2:%.*]]12; CHECK:       bb1:13; CHECK-NEXT:    store i8 poison, ptr null, align 114; CHECK-NEXT:    br i1 false, label [[BB1:%.*]], label [[BB2]]15; CHECK:       bb2:16; CHECK-NEXT:    [[STOREMERGE:%.*]] = load i32, ptr null, align 417; CHECK-NEXT:    ret i32 [[STOREMERGE]]18;19; Load should be removed, since it's ignored.20bb0:21  %bar = load ptr, ptr %f22  br label %bb223bb1:24  %zed = load ptr, ptr %f25  br i1 false, label %bb1, label %bb226bb2:27  %foo = phi ptr [ null, %bb0 ], [ %zed, %bb1 ]28  %storemerge = load i32, ptr %foo29  ret i32 %storemerge30}31