brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 56e062d Raw
40 lines · plain
1// RUN: cir-opt %s -cir-canonicalize -split-input-file -o - | FileCheck %s2 3!s32i = !cir.int<s, 32>4 5module {6  cir.func @fold_complex_imag_test() -> !s32i {7    %0 = cir.alloca !s32i, !cir.ptr<!s32i>, ["__retval"]8    %2 = cir.const #cir.const_complex<#cir.int<1> : !s32i, #cir.int<2> : !s32i> : !cir.complex<!s32i>9    %4 = cir.complex.imag %2 : !cir.complex<!s32i> -> !s32i10    cir.store %4, %0 : !s32i, !cir.ptr<!s32i>11    %5 = cir.load %0 : !cir.ptr<!s32i>, !s32i12    cir.return %5 : !s32i13  }14 15  // CHECK: cir.func @fold_complex_imag_test() -> !s32i {16  // CHECK:   %[[RET:.*]] = cir.alloca !s32i, !cir.ptr<!s32i>, ["__retval"]17  // CHECK:   %[[IMAG:.*]] = cir.const #cir.int<2> : !s32i18  // CHECK:   cir.store %[[IMAG]], %[[RET]] : !s32i, !cir.ptr<!s32i>19  // CHECK:   %[[TMP:.]] = cir.load %[[RET]] : !cir.ptr<!s32i>, !s32i20  // CHECK:   cir.return %[[TMP]] : !s32i21  // CHECK: }22 23}24 25// -----26 27!s32i = !cir.int<s, 32>28 29module {30  cir.func dso_local @fold_complex_imag_from_create_test(%arg0: !s32i, %arg1: !s32i) -> !s32i {31    %0 = cir.complex.create %arg0, %arg1 : !s32i -> !cir.complex<!s32i>32    %1 = cir.complex.imag %0 : !cir.complex<!s32i> -> !s32i33    cir.return %1 : !s32i34  }35 36  // CHECK: cir.func dso_local @fold_complex_imag_from_create_test(%[[ARG_0:.*]]: !s32i, %[[ARG_1:.*]]: !s32i) -> !s32i {37  // CHECK:   cir.return %[[ARG_1]] : !s32i38  // CHECK: }39}40