brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.4 KiB · 0add19e Raw
92 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 22; RUN: opt -S -loop-reduce %s | FileCheck --check-prefixes=LEGACYPM %s3; RUN: opt -S -passes=loop-reduce %s | FileCheck --check-prefixes=NEWPM %s4 5target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"6target triple = "x86_64-unknown-linux-gnu"7 8define void @function_0(i32 %val_i32_8, i32 %val_i32_9) {9; LEGACYPM-LABEL: define void @function_010; LEGACYPM-SAME: (i32 [[VAL_I32_8:%.*]], i32 [[VAL_I32_9:%.*]]) {11; LEGACYPM-NEXT:    [[VAL_I1_22:%.*]] = trunc i8 -66 to i112; LEGACYPM-NEXT:    br i1 [[VAL_I1_22]], label [[BB_2_PREHEADER:%.*]], label [[BB_2_PREHEADER]]13; LEGACYPM:       bb_2.preheader:14; LEGACYPM-NEXT:    br label [[BB_2:%.*]]15; LEGACYPM:       bb_2:16; LEGACYPM-NEXT:    br label [[PRHDR_LOOP_3:%.*]]17; LEGACYPM:       prhdr_loop_3:18; LEGACYPM-NEXT:    br label [[LOOP_4:%.*]]19; LEGACYPM:       loop_4:20; LEGACYPM-NEXT:    [[LSR_IV:%.*]] = phi i32 [ [[LSR_IV_NEXT:%.*]], [[BE_6:%.*]] ], [ 7851, [[PRHDR_LOOP_3]] ]21; LEGACYPM-NEXT:    br i1 [[VAL_I1_22]], label [[BE_6]], label [[LOOP_EXIT_7SPLIT:%.*]]22; LEGACYPM:       bb_5:23; LEGACYPM-NEXT:    [[VAL_I32_40:%.*]] = mul i32 [[VAL_I32_9]], [[VAL_I32_24_LCSSA:%.*]]24; LEGACYPM-NEXT:    br label [[BB_2]]25; LEGACYPM:       be_6:26; LEGACYPM-NEXT:    [[LSR_IV_NEXT]] = add i32 [[LSR_IV]], 127; LEGACYPM-NEXT:    br i1 [[VAL_I1_22]], label [[LOOP_4]], label [[BE_6_LOOP_EXIT_7_CRIT_EDGE:%.*]]28; LEGACYPM:       loop_exit_7split:29; LEGACYPM-NEXT:    [[LSR_IV_LCSSA:%.*]] = phi i32 [ [[LSR_IV]], [[LOOP_4]] ]30; LEGACYPM-NEXT:    br label [[LOOP_EXIT_7:%.*]]31; LEGACYPM:       be_6.loop_exit_7_crit_edge:32; LEGACYPM-NEXT:    [[LSR_IV_LCSSA1:%.*]] = phi i32 [ [[LSR_IV]], [[BE_6]] ]33; LEGACYPM-NEXT:    br label [[LOOP_EXIT_7]]34; LEGACYPM:       loop_exit_7:35; LEGACYPM-NEXT:    [[VAL_I32_24_LCSSA]] = phi i32 [ [[LSR_IV_LCSSA1]], [[BE_6_LOOP_EXIT_7_CRIT_EDGE]] ], [ [[LSR_IV_LCSSA]], [[LOOP_EXIT_7SPLIT]] ]36; LEGACYPM-NEXT:    br label [[BB_5:%.*]]37;38; NEWPM-LABEL: define void @function_039; NEWPM-SAME: (i32 [[VAL_I32_8:%.*]], i32 [[VAL_I32_9:%.*]]) {40; NEWPM-NEXT:    [[VAL_I1_22:%.*]] = trunc i8 -66 to i141; NEWPM-NEXT:    br i1 [[VAL_I1_22]], label [[BB_2_PREHEADER:%.*]], label [[BB_2_PREHEADER]]42; NEWPM:       bb_2.preheader:43; NEWPM-NEXT:    br label [[BB_2:%.*]]44; NEWPM:       bb_2:45; NEWPM-NEXT:    br label [[PRHDR_LOOP_3:%.*]]46; NEWPM:       prhdr_loop_3:47; NEWPM-NEXT:    br label [[LOOP_4:%.*]]48; NEWPM:       loop_4:49; NEWPM-NEXT:    [[LSR_IV:%.*]] = phi i32 [ [[LSR_IV_NEXT:%.*]], [[BE_6:%.*]] ], [ 7851, [[PRHDR_LOOP_3]] ]50; NEWPM-NEXT:    br i1 [[VAL_I1_22]], label [[BE_6]], label [[LOOP_EXIT_7SPLIT:%.*]]51; NEWPM:       bb_5:52; NEWPM-NEXT:    [[VAL_I32_40:%.*]] = mul i32 [[VAL_I32_9]], [[VAL_I32_24_LCSSA:%.*]]53; NEWPM-NEXT:    br label [[BB_2]]54; NEWPM:       be_6:55; NEWPM-NEXT:    [[LSR_IV_NEXT]] = add i32 [[LSR_IV]], 156; NEWPM-NEXT:    br i1 [[VAL_I1_22]], label [[LOOP_4]], label [[BE_6_LOOP_EXIT_7_CRIT_EDGE:%.*]]57; NEWPM:       loop_exit_7split:58; NEWPM-NEXT:    [[LSR_IV_LCSSA:%.*]] = phi i32 [ [[LSR_IV]], [[LOOP_4]] ]59; NEWPM-NEXT:    br label [[LOOP_EXIT_7:%.*]]60; NEWPM:       be_6.loop_exit_7_crit_edge:61; NEWPM-NEXT:    [[LSR_IV_LCSSA1:%.*]] = phi i32 [ [[LSR_IV]], [[BE_6]] ]62; NEWPM-NEXT:    br label [[LOOP_EXIT_7]]63; NEWPM:       loop_exit_7:64; NEWPM-NEXT:    [[VAL_I32_24_LCSSA]] = phi i32 [ [[LSR_IV_LCSSA1]], [[BE_6_LOOP_EXIT_7_CRIT_EDGE]] ], [ [[LSR_IV_LCSSA]], [[LOOP_EXIT_7SPLIT]] ]65; NEWPM-NEXT:    br label [[BB_5:%.*]]66;67  %val_i1_22 = trunc i8 -66 to i168  br i1 %val_i1_22, label %bb_2, label %bb_269 70bb_2:                                             ; preds = %bb_5, %entry_1, %entry_171  br label %prhdr_loop_372 73prhdr_loop_3:                                     ; preds = %bb_274  br label %loop_475 76loop_4:                                           ; preds = %be_6, %prhdr_loop_377  %loop_cnt_i32_11 = phi i32 [ 7850, %prhdr_loop_3 ], [ %val_i32_24, %be_6 ]78  %val_i32_24 = add i32 %loop_cnt_i32_11, 179  br i1 %val_i1_22, label %be_6, label %loop_exit_780 81bb_5:                                             ; preds = %loop_exit_782  %val_i32_40 = mul i32 %val_i32_9, %val_i32_24.lcssa83  br label %bb_284 85be_6:                                             ; preds = %loop_486  br i1 %val_i1_22, label %loop_4, label %loop_exit_787 88loop_exit_7:                                      ; preds = %be_6, %loop_489  %val_i32_24.lcssa = phi i32 [ %val_i32_24, %be_6 ], [ %val_i32_24, %loop_4 ]90  br label %bb_591}92