xref: /llvm-project/llvm/test/Transforms/CodeExtractor/2004-11-12-InvokeExtract.ll (revision bbbbbfbdcb1ab1ba9857138dfa0f2355da8e4499)
10ca8ddd8SRoman Lebedev; RUN: opt < %s -passes=extract-blocks -disable-output
2*bbbbbfbdSNikita Popovdefine i32 @foo() personality ptr @__gcc_personality_v0 {
3cee313d2SEric Christopher        br label %EB
4cee313d2SEric Christopher
5cee313d2SEric ChristopherEB:             ; preds = %0
6cee313d2SEric Christopher        %V = invoke i32 @foo( )
7cee313d2SEric Christopher                        to label %Cont unwind label %Unw                ; <i32> [#uses=1]
8cee313d2SEric Christopher
9cee313d2SEric ChristopherCont:           ; preds = %EB
10cee313d2SEric Christopher        ret i32 %V
11cee313d2SEric Christopher
12cee313d2SEric ChristopherUnw:            ; preds = %EB
13*bbbbbfbdSNikita Popov        %exn = landingpad { ptr, i32 }
14*bbbbbfbdSNikita Popov                 catch ptr null
15*bbbbbfbdSNikita Popov        resume { ptr, i32 } %exn
16cee313d2SEric Christopher}
17cee313d2SEric Christopher
18cee313d2SEric Christopherdeclare i32 @__gcc_personality_v0(...)
19