| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py |
| ; RUN: opt -passes=reassociate %s -S | FileCheck %s |
| target triple = "x86_64-unknown-linux-gnu" |
| define void @f(i1 %arg) { |
| ; CHECK-NEXT: br label [[DONE:%.*]] |
| ; CHECK-NEXT: [[XOR0:%.*]] = xor i16 [[XOR1:%.*]], undef |
| ; CHECK-NEXT: [[XOR1]] = xor i16 [[XOR0]], undef |
| ; CHECK-NEXT: br i1 %arg, label [[DEAD:%.*]], label [[DONE]] |
| %xor0 = xor i16 %xor1, undef |
| %xor1 = xor i16 %xor0, undef |
| br i1 %arg, label %dead, label %done |
| %e = phi i16 [ %xor1, %dead ], [ 0, %entry ] |