brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 646446c Raw
26 lines · plain
1// Test fir.is_assumed_size lowering to runtime calls in fir-assumed-rank-op pass.2// RUN: fir-opt -o - --fir-assumed-rank-op %s | FileCheck %s3 4func.func @test_ranked(%arg0: !fir.class<!fir.array<?xnone>> ) -> i1 {5  %1 = fir.is_assumed_size %arg0 : (!fir.class<!fir.array<?xnone>>) -> i16  return %1 : i17}8 9func.func @test_assumed_rank(%arg0: !fir.box<!fir.array<*:f32>> ) -> i1 {10  %1 = fir.is_assumed_size %arg0 : (!fir.box<!fir.array<*:f32>>) -> i111  return %1 : i112}13// CHECK-LABEL:   func.func @test_ranked(14// CHECK-SAME:                           %[[VAL_0:.*]]: !fir.class<!fir.array<?xnone>>) -> i1 {15// CHECK:           %[[VAL_1:.*]] = fir.convert %[[VAL_0]] : (!fir.class<!fir.array<?xnone>>) -> !fir.box<none>16// CHECK:           %[[VAL_2:.*]] = fir.call @_FortranAIsAssumedSize(%[[VAL_1]]) : (!fir.box<none>) -> i117// CHECK:           return %[[VAL_2]] : i118// CHECK:         }19 20// CHECK-LABEL:   func.func @test_assumed_rank(21// CHECK-SAME:                                 %[[VAL_0:.*]]: !fir.box<!fir.array<*:f32>>) -> i1 {22// CHECK:           %[[VAL_1:.*]] = fir.convert %[[VAL_0]] : (!fir.box<!fir.array<*:f32>>) -> !fir.box<none>23// CHECK:           %[[VAL_2:.*]] = fir.call @_FortranAIsAssumedSize(%[[VAL_1]]) : (!fir.box<none>) -> i124// CHECK:           return %[[VAL_2]] : i125// CHECK:         }26