|  | ; Test that we don't sink landingpads | 
|  | ; RUN: opt -sink -S < %s | FileCheck %s | 
|  |  | 
|  | declare hidden void @g() | 
|  | declare void @h() | 
|  | declare i32 @__gxx_personality_v0(...) | 
|  |  | 
|  | define void @f() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { | 
|  | entry: | 
|  | invoke void @g() | 
|  | to label %invoke.cont.15 unwind label %lpad | 
|  |  | 
|  | invoke.cont.15: | 
|  | unreachable | 
|  |  | 
|  | ; CHECK: lpad: | 
|  | ; CHECK: %0 = landingpad { i8*, i32 } | 
|  | lpad: | 
|  | %0 = landingpad { i8*, i32 } | 
|  | catch i8* null | 
|  | invoke void @h() | 
|  | to label %invoke.cont unwind label %lpad.1 | 
|  |  | 
|  | ; CHECK: invoke.cont | 
|  | ; CHECK-NOT: %0 = landingpad { i8*, i32 } | 
|  | invoke.cont: | 
|  | ret void | 
|  |  | 
|  | lpad.1: | 
|  | %1 = landingpad { i8*, i32 } | 
|  | cleanup | 
|  | resume { i8*, i32 } %1 | 
|  | } |