1; RUN: opt -S -loop-reduce < %s | FileCheck %s 2 3source_filename = "./simple.ll" 4target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128-ni:1-p2:32:8:8:32-ni:2" 5target triple = "x86_64-unknown-linux-gnu" 6 7; CHECK-LABEL: test 8define void @test() { 9bb: 10 br label %bb1 11 12bb1: ; preds = %bb1, %bb 13 %tmp = phi i32 [ undef, %bb ], [ %tmp87, %bb1 ] 14 %tmp2 = phi i32 [ undef, %bb ], [ %tmp86, %bb1 ] 15 %tmp3 = mul i32 %tmp, undef 16 %tmp4 = xor i32 %tmp3, -1 17 %tmp5 = add i32 %tmp, %tmp4 18 %tmp6 = add i32 %tmp2, -1 19 %tmp7 = add i32 %tmp5, %tmp6 20 %tmp8 = mul i32 %tmp7, %tmp3 21 %tmp9 = xor i32 %tmp8, -1 22 %tmp10 = add i32 %tmp7, %tmp9 23 %tmp11 = add i32 %tmp10, undef 24 %tmp12 = mul i32 %tmp11, %tmp8 25 %tmp13 = xor i32 %tmp12, -1 26 %tmp14 = add i32 %tmp11, %tmp13 27 %tmp15 = add i32 %tmp14, undef 28 %tmp16 = mul i32 %tmp15, %tmp12 29 %tmp17 = add i32 %tmp15, undef 30 %tmp18 = add i32 %tmp17, undef 31 %tmp19 = mul i32 %tmp18, %tmp16 32 %tmp20 = xor i32 %tmp19, -1 33 %tmp21 = add i32 %tmp18, %tmp20 34 %tmp22 = add i32 %tmp21, undef 35 %tmp23 = mul i32 %tmp22, %tmp19 36 %tmp24 = xor i32 %tmp23, -1 37 %tmp25 = add i32 %tmp22, %tmp24 38 %tmp26 = add i32 %tmp25, undef 39 %tmp27 = mul i32 %tmp26, %tmp23 40 %tmp28 = xor i32 %tmp27, -1 41 %tmp29 = add i32 %tmp26, %tmp28 42 %tmp30 = add i32 %tmp29, undef 43 %tmp31 = mul i32 %tmp30, %tmp27 44 %tmp32 = xor i32 %tmp31, -1 45 %tmp33 = add i32 %tmp30, %tmp32 46 %tmp34 = add i32 %tmp33, undef 47 %tmp35 = mul i32 %tmp34, %tmp31 48 %tmp36 = xor i32 %tmp35, -1 49 %tmp37 = add i32 %tmp34, %tmp36 50 %tmp38 = add i32 %tmp2, -9 51 %tmp39 = add i32 %tmp37, %tmp38 52 %tmp40 = mul i32 %tmp39, %tmp35 53 %tmp41 = xor i32 %tmp40, -1 54 %tmp42 = add i32 %tmp39, %tmp41 55 %tmp43 = add i32 %tmp42, undef 56 %tmp44 = mul i32 %tmp43, %tmp40 57 %tmp45 = xor i32 %tmp44, -1 58 %tmp46 = add i32 %tmp43, %tmp45 59 %tmp47 = add i32 %tmp46, undef 60 %tmp48 = mul i32 %tmp47, %tmp44 61 %tmp49 = xor i32 %tmp48, -1 62 %tmp50 = add i32 %tmp47, %tmp49 63 %tmp51 = add i32 %tmp50, undef 64 %tmp52 = mul i32 %tmp51, %tmp48 65 %tmp53 = xor i32 %tmp52, -1 66 %tmp54 = add i32 %tmp51, %tmp53 67 %tmp55 = add i32 %tmp54, undef 68 %tmp56 = mul i32 %tmp55, %tmp52 69 %tmp57 = xor i32 %tmp56, -1 70 %tmp58 = add i32 %tmp55, %tmp57 71 %tmp59 = add i32 %tmp2, -14 72 %tmp60 = add i32 %tmp58, %tmp59 73 %tmp61 = mul i32 %tmp60, %tmp56 74 %tmp62 = xor i32 %tmp61, -1 75 %tmp63 = add i32 %tmp60, %tmp62 76 %tmp64 = add i32 %tmp63, undef 77 %tmp65 = mul i32 %tmp64, %tmp61 78 %tmp66 = xor i32 %tmp65, -1 79 %tmp67 = add i32 %tmp64, %tmp66 80 %tmp68 = add i32 %tmp67, undef 81 %tmp69 = mul i32 %tmp68, %tmp65 82 %tmp70 = xor i32 %tmp69, -1 83 %tmp71 = add i32 %tmp68, %tmp70 84 %tmp72 = add i32 %tmp71, undef 85 %tmp73 = mul i32 %tmp72, %tmp69 86 %tmp74 = xor i32 %tmp73, -1 87 %tmp75 = add i32 %tmp72, %tmp74 88 %tmp76 = add i32 %tmp75, undef 89 %tmp77 = mul i32 %tmp76, %tmp73 90 %tmp78 = xor i32 %tmp77, -1 91 %tmp79 = add i32 %tmp76, %tmp78 92 %tmp80 = add i32 %tmp79, undef 93 %tmp81 = mul i32 %tmp80, %tmp77 94 %tmp82 = xor i32 %tmp81, -1 95 %tmp83 = add i32 %tmp80, %tmp82 96 %tmp84 = add i32 %tmp83, undef 97 %tmp85 = add i32 %tmp84, undef 98 %tmp86 = add i32 %tmp2, -21 99 %tmp87 = add i32 %tmp85, %tmp86 100 br label %bb1 101} 102