blob: f8c7a151b2c9d37d3caf6a00b78c2cbce121b2f1 [file] [log] [blame]
NAKAMURA Takumi9dceb132010-09-03 03:24:08 +00001; RUN: llc < %s -mtriple=i686-linux -asm-verbose | FileCheck %s
Duncan Sandsa5fec0d2009-03-17 09:46:22 +00002; Check that register copies in the landing pad come after the EH_LABEL
3
4declare i32 @f()
5
6define i32 @phi(i32 %x) {
7entry:
8 %a = invoke i32 @f()
9 to label %cont unwind label %lpad ; <i32> [#uses=1]
10
11cont: ; preds = %entry
12 %b = invoke i32 @f()
13 to label %cont2 unwind label %lpad ; <i32> [#uses=1]
14
15cont2: ; preds = %cont
16 ret i32 %b
17
18lpad: ; preds = %cont, %entry
19 %v = phi i32 [ %x, %entry ], [ %a, %cont ] ; <i32> [#uses=1]
Bill Wendling93590312011-08-31 21:39:05 +000020 %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
21 cleanup
Duncan Sandsa5fec0d2009-03-17 09:46:22 +000022 ret i32 %v
23}
Edward O'Callaghan81fff072009-11-22 11:45:44 +000024
25; CHECK: lpad
Chris Lattner63d78362010-03-14 08:36:50 +000026; CHECK-NEXT: Ltmp
Bill Wendling93590312011-08-31 21:39:05 +000027
28declare i32 @__gxx_personality_v0(...)