brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.6 KiB · 4282ae2 Raw
122 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -passes=slp-vectorizer,verify -slp-threshold=-99999 -S | FileCheck %s3 4target triple = "x86_64-unknown-linux-gnu"5 6define void @foo() personality ptr @bar {7; CHECK-LABEL: @foo(8; CHECK-NEXT:  bb1:9; CHECK-NEXT:    br label [[BB3:%.*]]10; CHECK:       bb2.loopexit:11; CHECK-NEXT:    br label [[BB2:%.*]]12; CHECK:       bb2:13; CHECK-NEXT:    [[TMP0:%.*]] = phi <4 x i32> [ [[TMP7:%.*]], [[BB9:%.*]] ], [ poison, [[BB2_LOOPEXIT:%.*]] ]14; CHECK-NEXT:    ret void15; CHECK:       bb3:16; CHECK-NEXT:    [[TMP1:%.*]] = phi <2 x i32> [ [[TMP3:%.*]], [[BB6:%.*]] ], [ poison, [[BB1:%.*]] ]17; CHECK-NEXT:    [[TMP4:%.*]] = extractelement <2 x i32> [[TMP1]], i32 018; CHECK-NEXT:    [[TMP10:%.*]] = extractelement <2 x i32> [[TMP1]], i32 119; CHECK-NEXT:    [[TMP2:%.*]] = invoke i32 poison(ptr addrspace(1) nonnull poison, i32 0, i32 0, i32 poison) [ "deopt"() ]20; CHECK-NEXT:            to label [[BB4:%.*]] unwind label [[BB10:%.*]]21; CHECK:       bb4:22; CHECK-NEXT:    br i1 poison, label [[BB11:%.*]], label [[BB5:%.*]]23; CHECK:       bb5:24; CHECK-NEXT:    br label [[BB7:%.*]]25; CHECK:       bb6:26; CHECK-NEXT:    [[TMP3]] = phi <2 x i32> [ <i32 0, i32 poison>, [[BB8:%.*]] ]27; CHECK-NEXT:    br label [[BB3]]28; CHECK:       bb7:29; CHECK-NEXT:    [[LOCAL_5_84111:%.*]] = phi i32 [ poison, [[BB8]] ], [ poison, [[BB5]] ]30; CHECK-NEXT:    [[TMP5:%.*]] = invoke i32 poison(ptr addrspace(1) nonnull poison, i32 poison, i32 poison, i32 poison) [ "deopt"() ]31; CHECK-NEXT:            to label [[BB8]] unwind label [[BB12:%.*]]32; CHECK:       bb8:33; CHECK-NEXT:    br i1 poison, label [[BB7]], label [[BB6]]34; CHECK:       bb9:35; CHECK-NEXT:    [[INDVARS_IV528799:%.*]] = phi i64 [ poison, [[BB10]] ], [ poison, [[BB12]] ]36; CHECK-NEXT:    [[TMP7]] = phi <4 x i32> [ [[TMP9:%.*]], [[BB10]] ], [ [[TMP11:%.*]], [[BB12]] ]37; CHECK-NEXT:    br label [[BB2]]38; CHECK:       bb10:39; CHECK-NEXT:    [[LOCAL_10_38123_LCSSA:%.*]] = phi i32 [ [[TMP10]], [[BB3]] ]40; CHECK-NEXT:    [[LOCAL_5_33118_LCSSA:%.*]] = phi i32 [ [[TMP4]], [[BB3]] ]41; CHECK-NEXT:    [[LANDING_PAD68:%.*]] = landingpad { ptr, i32 }42; CHECK-NEXT:            cleanup43; CHECK-NEXT:    [[TMP8:%.*]] = insertelement <4 x i32> poison, i32 [[LOCAL_10_38123_LCSSA]], i32 244; CHECK-NEXT:    [[TMP9]] = insertelement <4 x i32> [[TMP8]], i32 [[LOCAL_5_33118_LCSSA]], i32 345; CHECK-NEXT:    br label [[BB9]]46; CHECK:       bb11:47; CHECK-NEXT:    ret void48; CHECK:       bb12:49; CHECK-NEXT:    [[LOCAL_10_89113_LCSSA:%.*]] = phi i32 [ poison, [[BB7]] ]50; CHECK-NEXT:    [[LOCAL_5_84111_LCSSA:%.*]] = phi i32 [ [[LOCAL_5_84111]], [[BB7]] ]51; CHECK-NEXT:    [[LANDING_PAD149:%.*]] = landingpad { ptr, i32 }52; CHECK-NEXT:            cleanup53; CHECK-NEXT:    [[TMP12:%.*]] = insertelement <4 x i32> poison, i32 [[LOCAL_10_89113_LCSSA]], i32 254; CHECK-NEXT:    [[TMP11]] = insertelement <4 x i32> [[TMP12]], i32 [[LOCAL_5_84111_LCSSA]], i32 355; CHECK-NEXT:    br label [[BB9]]56;57bb1:58  br label %bb359 60bb2.loopexit:61  br label %bb262 63bb2:64  %local_8_3681 = phi i32 [ poison, %bb9 ], [ 1, %bb2.loopexit ]65  %local_2_44 = phi i32 [ poison, %bb9 ], [ poison, %bb2.loopexit ]66  %local_5_47 = phi i32 [ %local_5_19, %bb9 ], [ poison, %bb2.loopexit ]67  %local_10_52 = phi i32 [ %local_10_24, %bb9 ], [ poison, %bb2.loopexit ]68  ret void69 70bb3:71  %local_10_38123 = phi i32 [ %.lcssa773, %bb6 ], [ poison, %bb1 ]72  %local_5_33118 = phi i32 [ poison, %bb6 ], [ poison, %bb1 ]73  %0 = invoke i32 poison(ptr addrspace(1) nonnull poison, i32 0, i32 0, i32 poison) [ "deopt"() ]74  to label %bb4 unwind label %bb1075 76bb4:77  br i1 poison, label %bb11, label %bb578 79bb5:80  br label %bb781 82bb6:83  %.lcssa773 = phi i32 [ poison, %bb8 ]84  %.lcssa770 = phi i32 [ 0, %bb8 ]85  br label %bb386 87bb7:88  %local_5_84111 = phi i32 [ poison, %bb8 ], [ poison, %bb5 ]89  %1 = invoke i32 poison(ptr addrspace(1) nonnull poison, i32 poison, i32 poison, i32 poison) [ "deopt"() ]90  to label %bb8 unwind label %bb1291 92bb8:93  br i1 poison, label %bb7, label %bb694 95bb9:96  %indvars.iv528799 = phi i64 [ poison, %bb10 ], [ poison, %bb12 ]97  %local_5_19 = phi i32 [ %local_5_33118.lcssa, %bb10 ], [ %local_5_84111.lcssa, %bb12 ]98  %local_10_24 = phi i32 [ %local_10_38123.lcssa, %bb10 ], [ %local_10_89113.lcssa, %bb12 ]99  br label %bb2100 101bb10:102  %local_10_38123.lcssa = phi i32 [ %local_10_38123, %bb3 ]103  %local_5_33118.lcssa = phi i32 [ %local_5_33118, %bb3 ]104  %landing_pad68 = landingpad { ptr, i32 }105  cleanup106  br label %bb9107 108bb11:109  ret void110 111bb12:112  %local_10_89113.lcssa = phi i32 [ poison, %bb7 ]113  %local_5_84111.lcssa = phi i32 [ %local_5_84111, %bb7 ]114  %landing_pad149 = landingpad { ptr, i32 }115  cleanup116  br label %bb9117}118 119declare ptr @bar()120 121 122