55 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 42; Make sure we don't end up in an infinite recursion in singleReachablePHIPath().3; RUN: opt < %s -passes=newgvn -S | FileCheck %s4 5@c = external global i64, align 86 7 8define void @tinkywinky(i1 %arg) {9; CHECK-LABEL: define void @tinkywinky(i1 %arg) {10; CHECK-NEXT: entry:11; CHECK-NEXT: br i1 %arg, label [[L2:%.*]], label [[IF_THEN:%.*]]12; CHECK: if.then:13; CHECK-NEXT: br label [[FOR_BODY:%.*]]14; CHECK: ph:15; CHECK-NEXT: br label [[FOR_BODY]]16; CHECK: for.body:17; CHECK-NEXT: br i1 %arg, label [[ONTRUE:%.*]], label [[ONFALSE:%.*]]18; CHECK: onfalse:19; CHECK-NEXT: [[PATATINO:%.*]] = load i64, ptr @c, align 420; CHECK-NEXT: ret void21; CHECK: ontrue:22; CHECK-NEXT: [[DIPSY:%.*]] = load i64, ptr @c, align 423; CHECK-NEXT: br label [[PH:%.*]]24; CHECK: back:25; CHECK-NEXT: store i8 poison, ptr null, align 126; CHECK-NEXT: br label [[PH]]27; CHECK: end:28; CHECK-NEXT: ret void29; CHECK: l2:30; CHECK-NEXT: br i1 false, label [[BACK:%.*]], label [[END:%.*]]31;32entry:33 br i1 %arg, label %l2, label %if.then34if.then:35 br label %for.body36ph:37 br label %for.body38for.body:39 br i1 %arg, label %ontrue, label %onfalse40onfalse:41 %patatino = load i64, ptr @c42 store i64 %patatino, ptr @c43 ret void44ontrue:45 %dipsy = load i64, ptr @c46 store i64 %dipsy, ptr @c47 br label %ph48back:49 br label %ph50end:51 ret void52l2:53 br i1 false, label %back, label %end54}55