1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2 ; RUN: opt -reassociate %s -S | FileCheck %s 3 4 target triple = "x86_64-unknown-linux-gnu" 5 6 define void @f() { 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 undef, label [[DEAD:%.*]], label [[DONE]] 14 ; CHECK: done: 15 ; CHECK-NEXT: ret void 16 ; 17 entry: 18 br label %done 19 20 dead: 21 %xor0 = xor i16 %xor1, undef 22 %xor1 = xor i16 %xor0, undef 23 br i1 undef, label %dead, label %done 24 25 done: 26 %e = phi i16 [ %xor1, %dead ], [ 0, %entry ] 27 ret void 28 } 29