192e54b09SRoman Lebedev; RUN: opt -passes='simple-loop-unswitch<nontrivial>' < %s -S | FileCheck %s 25366de73SArthur Eubanks 35366de73SArthur Eubanks; CHECK: if.end{{.*}}: 45366de73SArthur Eubanks; CHECK-NOT: if.end{{.*}}: 55366de73SArthur Eubanksdeclare i32 @__gxx_wasm_personality_v0(...) 65366de73SArthur Eubanks 75366de73SArthur Eubanksdeclare void @foo() 85366de73SArthur Eubanks 9*2f79f543SNikita Popovdefine void @test(i1 %arg) personality ptr @__gxx_wasm_personality_v0 { 105366de73SArthur Eubanksentry: 115366de73SArthur Eubanks br label %while.body 125366de73SArthur Eubanks 135366de73SArthur Eubankswhile.body: ; preds = %cleanup, %entry 145366de73SArthur Eubanks br i1 %arg, label %if.end, label %if.then 155366de73SArthur Eubanks 165366de73SArthur Eubanksif.then: ; preds = %while.body 175366de73SArthur Eubanks br label %if.end 185366de73SArthur Eubanks 195366de73SArthur Eubanksif.end: ; preds = %if.then, %while.body 205366de73SArthur Eubanks invoke void @foo() 215366de73SArthur Eubanks to label %cleanup unwind label %catch.dispatch 225366de73SArthur Eubanks 235366de73SArthur Eubankscatch.dispatch: ; preds = %invoke.cont, %if.end 245366de73SArthur Eubanks %0 = catchswitch within none [label %catch] unwind to caller 255366de73SArthur Eubanks 265366de73SArthur Eubankscatch: ; preds = %catch.dispatch 27*2f79f543SNikita Popov %1 = catchpad within %0 [ptr null] 285366de73SArthur Eubanks unreachable 295366de73SArthur Eubanks 305366de73SArthur Eubankscleanup: ; preds = %invoke.cont 315366de73SArthur Eubanks br label %while.body 325366de73SArthur Eubanks} 335366de73SArthur Eubanks 34