1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2 ; RUN: opt < %s -passes=slp-vectorizer -mtriple=x86_64-apple-macosx10.9.0 -S -o - | FileCheck %s
4 target datalayout = "f64:64:64-v64:64:64"
6 define void @test_phi_in_landingpad() personality ptr
7 ; CHECK-LABEL: @test_phi_in_landingpad(
9 ; CHECK-NEXT: invoke void @foo()
10 ; CHECK-NEXT: to label [[INNER:%.*]] unwind label [[LPAD:%.*]]
12 ; CHECK-NEXT: invoke void @foo()
13 ; CHECK-NEXT: to label [[DONE:%.*]] unwind label [[LPAD]]
15 ; CHECK-NEXT: [[TMP0:%.*]] = phi <2 x double> [ undef, [[ENTRY:%.*]] ], [ undef, [[INNER]] ]
16 ; CHECK-NEXT: [[TMP1:%.*]] = landingpad { ptr, i32 }
17 ; CHECK-NEXT: catch ptr null
18 ; CHECK-NEXT: br label [[DONE]]
20 ; CHECK-NEXT: [[TMP2:%.*]] = phi <2 x double> [ undef, [[INNER]] ], [ [[TMP0]], [[LPAD]] ]
21 ; CHECK-NEXT: ret void
23 @__gxx_personality_v0 {
26 to label %inner unwind label %lpad
29 %x0 = fsub double undef, undef
30 %y0 = fsub double undef, undef
32 to label %done unwind label %lpad
35 %x1 = phi double [ undef, %entry ], [ undef, %inner ]
36 %y1 = phi double [ undef, %entry ], [ undef, %inner ]
37 landingpad { ptr, i32 } catch ptr null
41 phi double [ %x0, %inner ], [ %x1, %lpad ]
42 phi double [ %y0, %inner ], [ %y1, %lpad ]
48 declare i32 @__gxx_personality_v0(...)