xref: /llvm-project/llvm/test/Transforms/Reassociate/infloop-deadphi.ll (revision 9bf6365237f3a8a401afc0a69d2fb6d1b809ce68)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt -passes=reassociate %s -S | FileCheck %s
3
4target triple = "x86_64-unknown-linux-gnu"
5
6define void @f(i1 %arg) {
7; CHECK-LABEL: @f(
8; CHECK-NEXT:  entry:
9; CHECK-NEXT:    br label [[DONE:%.*]]
10; CHECK:       dead:
11; CHECK-NEXT:    [[XOR0:%.*]] = xor i16 [[XOR1:%.*]], undef
12; CHECK-NEXT:    [[XOR1]] = xor i16 [[XOR0]], undef
13; CHECK-NEXT:    br i1 %arg, label [[DEAD:%.*]], label [[DONE]]
14; CHECK:       done:
15; CHECK-NEXT:    ret void
16;
17entry:
18  br label %done
19
20dead:
21  %xor0 = xor i16 %xor1, undef
22  %xor1 = xor i16 %xor0, undef
23  br i1 %arg, label %dead, label %done
24
25done:
26  %e = phi i16 [ %xor1, %dead ], [ 0, %entry ]
27  ret void
28}
29