brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 8713c8f Raw
35 lines · plain
1// RUN: fir-opt %s | tco | FileCheck %s2 3// CHECK-LABEL: define i32 @f1(i32 %0, i32 %1)4func.func @f1(%a : i32, %b : i32) -> i32 {5 6  // CHECK: %[[reg3:.*]] = add i32 %0, %17  %1 = arith.addi %a, %b : i328  %2 = arith.addi %b, %a : i329  // CHECK:  mul i32 %[[reg3]], %[[reg3]]10  %3 = arith.muli %1, %2 : i3211  return %3 : i3212}13 14// CHECK-LABEL: define i32 @f2(ptr {{[^%]*}}%0)15func.func @f2(%a : !fir.ref<i32>) -> i32 {16  %1 = fir.load %a : !fir.ref<i32>17  // CHECK: %[[r2:.*]] = load18  %2 = fir.load %a : !fir.ref<i32>19  // CHECK: %[[r3:.*]] = add i32 %[[r2]], %[[r2]]20  %3 = arith.addi %1, %2 : i3221  %4 = fir.load %a : !fir.ref<i32>22  // CHECK: %[[r4:.*]] = add i32 %[[r3]], %[[r2]]23  %5 = arith.addi %3, %4 : i3224  %6 = fir.load %a : !fir.ref<i32>25  // CHECK: %[[r5:.*]] = add i32 %[[r4]], %[[r2]]26  %7 = arith.addi %5, %6 : i3227  %8 = fir.load %a : !fir.ref<i32>28  // CHECK: %[[r6:.*]] = add i32 %[[r5]], %[[r2]]29  %9 = arith.addi %7, %8 : i3230  %10 = fir.load %a : !fir.ref<i32>31  // CHECK: %[[r7:.*]] = add i32 %[[r2]], %[[r6]]32  %11 = arith.addi %10, %9 : i3233  return %11 : i3234}35