1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -gvn 2*9880d681SAndroid Build Coastguard Worker; PR7052 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" 5*9880d681SAndroid Build Coastguard Workertarget triple = "x86_64-unknown-linux-gnu" 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Workerdefine i32 @main(i32 %argc, i8** nocapture %argv) personality i32 (...)* @__gxx_personality_v0 { 8*9880d681SAndroid Build Coastguard Workerentry: 9*9880d681SAndroid Build Coastguard Worker %0 = getelementptr inbounds i8, i8* undef, i64 5 ; <i8*> [#uses=1] 10*9880d681SAndroid Build Coastguard Worker %1 = bitcast i8* %0 to i32* ; <i32*> [#uses=1] 11*9880d681SAndroid Build Coastguard Worker store i32 undef, i32* %1, align 1 12*9880d681SAndroid Build Coastguard Worker br i1 undef, label %k121.i.i, label %l117.i.i 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Workerl117.i.i: ; preds = %entry 15*9880d681SAndroid Build Coastguard Worker invoke fastcc void @foo() 16*9880d681SAndroid Build Coastguard Worker to label %.noexc5 unwind label %landing_pad 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Worker.noexc5: ; preds = %l117.i.i 19*9880d681SAndroid Build Coastguard Worker unreachable 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Workerk121.i.i: ; preds = %entry 22*9880d681SAndroid Build Coastguard Worker br i1 undef, label %l129.i.i, label %k133.i.i 23*9880d681SAndroid Build Coastguard Worker 24*9880d681SAndroid Build Coastguard Workerl129.i.i: ; preds = %k121.i.i 25*9880d681SAndroid Build Coastguard Worker invoke fastcc void @foo() 26*9880d681SAndroid Build Coastguard Worker to label %.noexc7 unwind label %landing_pad 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Worker.noexc7: ; preds = %l129.i.i 29*9880d681SAndroid Build Coastguard Worker unreachable 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Workerk133.i.i: ; preds = %k121.i.i 32*9880d681SAndroid Build Coastguard Worker %2 = getelementptr i8, i8* undef, i64 5 ; <i8*> [#uses=1] 33*9880d681SAndroid Build Coastguard Worker %3 = bitcast i8* %2 to i1* ; <i1*> [#uses=1] 34*9880d681SAndroid Build Coastguard Worker %4 = load i1, i1* %3 ; <i1> [#uses=1] 35*9880d681SAndroid Build Coastguard Worker br i1 %4, label %k151.i.i, label %l147.i.i 36*9880d681SAndroid Build Coastguard Worker 37*9880d681SAndroid Build Coastguard Workerl147.i.i: ; preds = %k133.i.i 38*9880d681SAndroid Build Coastguard Worker invoke fastcc void @foo() 39*9880d681SAndroid Build Coastguard Worker to label %.noexc10 unwind label %landing_pad 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard Worker.noexc10: ; preds = %l147.i.i 42*9880d681SAndroid Build Coastguard Worker unreachable 43*9880d681SAndroid Build Coastguard Worker 44*9880d681SAndroid Build Coastguard Workerk151.i.i: ; preds = %k133.i.i 45*9880d681SAndroid Build Coastguard Worker ret i32 0 46*9880d681SAndroid Build Coastguard Worker 47*9880d681SAndroid Build Coastguard Workerlanding_pad: ; preds = %l147.i.i, %l129.i.i, %l117.i.i 48*9880d681SAndroid Build Coastguard Worker %exn = landingpad {i8*, i32} 49*9880d681SAndroid Build Coastguard Worker cleanup 50*9880d681SAndroid Build Coastguard Worker switch i32 undef, label %fin [ 51*9880d681SAndroid Build Coastguard Worker i32 1, label %catch1 52*9880d681SAndroid Build Coastguard Worker i32 2, label %catch 53*9880d681SAndroid Build Coastguard Worker ] 54*9880d681SAndroid Build Coastguard Worker 55*9880d681SAndroid Build Coastguard Workerfin: ; preds = %landing_pad 56*9880d681SAndroid Build Coastguard Worker unreachable 57*9880d681SAndroid Build Coastguard Worker 58*9880d681SAndroid Build Coastguard Workercatch: ; preds = %landing_pad 59*9880d681SAndroid Build Coastguard Worker ret i32 1 60*9880d681SAndroid Build Coastguard Worker 61*9880d681SAndroid Build Coastguard Workercatch1: ; preds = %landing_pad 62*9880d681SAndroid Build Coastguard Worker ret i32 2 63*9880d681SAndroid Build Coastguard Worker} 64*9880d681SAndroid Build Coastguard Worker 65*9880d681SAndroid Build Coastguard Workerdeclare fastcc void @foo() 66*9880d681SAndroid Build Coastguard Worker 67*9880d681SAndroid Build Coastguard Workerdeclare i32 @__gxx_personality_v0(...) 68