1*9880d681SAndroid Build Coastguard Worker; Promoting some values allows promotion of other values. 2*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -mem2reg -S | not grep alloca 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Workerdefine i32 @test2() { 5*9880d681SAndroid Build Coastguard Worker %result = alloca i32 ; <i32*> [#uses=2] 6*9880d681SAndroid Build Coastguard Worker %a = alloca i32 ; <i32*> [#uses=2] 7*9880d681SAndroid Build Coastguard Worker %p = alloca i32* ; <i32**> [#uses=2] 8*9880d681SAndroid Build Coastguard Worker store i32 0, i32* %a 9*9880d681SAndroid Build Coastguard Worker store i32* %a, i32** %p 10*9880d681SAndroid Build Coastguard Worker %tmp.0 = load i32*, i32** %p ; <i32*> [#uses=1] 11*9880d681SAndroid Build Coastguard Worker %tmp.1 = load i32, i32* %tmp.0 ; <i32> [#uses=1] 12*9880d681SAndroid Build Coastguard Worker store i32 %tmp.1, i32* %result 13*9880d681SAndroid Build Coastguard Worker %tmp.2 = load i32, i32* %result ; <i32> [#uses=1] 14*9880d681SAndroid Build Coastguard Worker ret i32 %tmp.2 15*9880d681SAndroid Build Coastguard Worker} 16*9880d681SAndroid Build Coastguard Worker 17