1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -gvn -enable-pre -S | grep ".pre" 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker@H = common global i32 0 ; <i32*> [#uses=2] 4*9880d681SAndroid Build Coastguard Worker@G = common global i32 0 ; <i32*> [#uses=1] 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdefine i32 @test() nounwind { 7*9880d681SAndroid Build Coastguard Workerentry: 8*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* @H, align 4 ; <i32> [#uses=2] 9*9880d681SAndroid Build Coastguard Worker %1 = call i32 (...) @foo() nounwind ; <i32> [#uses=1] 10*9880d681SAndroid Build Coastguard Worker %2 = icmp ne i32 %1, 0 ; <i1> [#uses=1] 11*9880d681SAndroid Build Coastguard Worker br i1 %2, label %bb, label %bb1 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Workerbb: ; preds = %entry 14*9880d681SAndroid Build Coastguard Worker %3 = add i32 %0, 42 ; <i32> [#uses=1] 15*9880d681SAndroid Build Coastguard Worker store i32 %3, i32* @G, align 4 16*9880d681SAndroid Build Coastguard Worker br label %bb1 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Workerbb1: ; preds = %bb, %entry 19*9880d681SAndroid Build Coastguard Worker %4 = add i32 %0, 42 ; <i32> [#uses=1] 20*9880d681SAndroid Build Coastguard Worker store i32 %4, i32* @H, align 4 21*9880d681SAndroid Build Coastguard Worker br label %return 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workerreturn: ; preds = %bb1 24*9880d681SAndroid Build Coastguard Worker ret i32 0 25*9880d681SAndroid Build Coastguard Worker} 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Workerdeclare i32 @foo(...) 28