1*9880d681SAndroid Build Coastguard Worker; RUN: opt -gvn -S < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerdeclare void @use(i32, i32) 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Workerdefine void @foo(i32 %x, i32 %y) { 6*9880d681SAndroid Build Coastguard Worker ; CHECK-LABEL: @foo( 7*9880d681SAndroid Build Coastguard Worker %add1 = add i32 %x, %y 8*9880d681SAndroid Build Coastguard Worker %add2 = add i32 %y, %x 9*9880d681SAndroid Build Coastguard Worker call void @use(i32 %add1, i32 %add2) 10*9880d681SAndroid Build Coastguard Worker ; CHECK: @use(i32 %add1, i32 %add1) 11*9880d681SAndroid Build Coastguard Worker ret void 12*9880d681SAndroid Build Coastguard Worker} 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Workerdeclare void @vse(i1, i1) 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard Workerdefine void @bar(i32 %x, i32 %y) { 17*9880d681SAndroid Build Coastguard Worker ; CHECK-LABEL: @bar( 18*9880d681SAndroid Build Coastguard Worker %cmp1 = icmp ult i32 %x, %y 19*9880d681SAndroid Build Coastguard Worker %cmp2 = icmp ugt i32 %y, %x 20*9880d681SAndroid Build Coastguard Worker call void @vse(i1 %cmp1, i1 %cmp2) 21*9880d681SAndroid Build Coastguard Worker ; CHECK: @vse(i1 %cmp1, i1 %cmp1) 22*9880d681SAndroid Build Coastguard Worker ret void 23*9880d681SAndroid Build Coastguard Worker} 24