brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 3f765d5 Raw
52 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -passes=slp-vectorizer -mtriple=x86_64-apple-macosx10.9.0 -S -o - | FileCheck %s3 4target datalayout = "f64:64:64-v64:64:64"5 6define void @test_phi_in_landingpad() personality ptr7; CHECK-LABEL: @test_phi_in_landingpad(8; CHECK-NEXT:  entry:9; CHECK-NEXT:    invoke void @foo()10; CHECK-NEXT:            to label [[INNER:%.*]] unwind label [[LPAD:%.*]]11; CHECK:       inner:12; CHECK-NEXT:    invoke void @foo()13; CHECK-NEXT:            to label [[DONE:%.*]] unwind label [[LPAD]]14; CHECK:       lpad:15; CHECK-NEXT:    [[X1:%.*]] = phi double [ undef, [[ENTRY:%.*]] ], [ undef, [[INNER]] ]16; CHECK-NEXT:    [[Y1:%.*]] = phi double [ undef, [[ENTRY]] ], [ undef, [[INNER]] ]17; CHECK-NEXT:    [[TMP1:%.*]] = landingpad { ptr, i32 }18; CHECK-NEXT:            catch ptr null19; CHECK-NEXT:    [[TMP3:%.*]] = insertelement <2 x double> poison, double [[X1]], i32 020; CHECK-NEXT:    [[TMP0:%.*]] = insertelement <2 x double> [[TMP3]], double [[Y1]], i32 121; CHECK-NEXT:    br label [[DONE]]22; CHECK:       done:23; CHECK-NEXT:    [[TMP2:%.*]] = phi <2 x double> [ undef, [[INNER]] ], [ [[TMP0]], [[LPAD]] ]24; CHECK-NEXT:    ret void25;26  @__gxx_personality_v0 {27entry:28  invoke void @foo()29  to label %inner unwind label %lpad30 31inner:32  %x0 = fsub double undef, undef33  %y0 = fsub double undef, undef34  invoke void @foo()35  to label %done unwind label %lpad36 37lpad:38  %x1 = phi double [ undef, %entry ], [ undef, %inner ]39  %y1 = phi double [ undef, %entry ], [ undef, %inner ]40  landingpad { ptr, i32 } catch ptr null41  br label %done42 43done:44  phi double [ %x0, %inner ], [ %x1, %lpad ]45  phi double [ %y0, %inner ], [ %y1, %lpad ]46  ret void47}48 49declare void @foo()50 51declare i32 @__gxx_personality_v0(...)52