1*b914efc5SValentin Clement! RUN: bbc --emit-fir %s -o - | FileCheck %s
2*b914efc5SValentin Clement
3*b914efc5SValentin Clement! Test generation of dense attributed global array. Also, make sure there are
4*b914efc5SValentin Clement! no dead ssa assignments.
5*b914efc5SValentin Clementmodule mm
6*b914efc5SValentin Clement  integer, parameter :: qq(3) = [(i,i=51,53)]
7*b914efc5SValentin Clementend
8*b914efc5SValentin Clementsubroutine ss
9*b914efc5SValentin Clement  use mm
10*b914efc5SValentin Clement  n = qq(3)
11*b914efc5SValentin Clementend
12*b914efc5SValentin Clement!CHECK-NOT: %{{.*}} = fir.undefined !fir.array<3xi32>
13*b914efc5SValentin Clement!CHECK-NOT: %{{.*}} = arith.constant %{{.*}} : index
14*b914efc5SValentin Clement!CHECK-NOT: %{{.*}} = arith.constant %{{.*}} : i32
15*b914efc5SValentin Clement!CHECK-NOT: %{{.*}} = fir.insert_value %{{.*}}, %{{.*}}, [%{{.*}} : index] : (!fir.array<3xi32>, i32) -> !fir.array<3xi32>
16*b914efc5SValentin Clement!CHECK: fir.global @_QMmmECqq(dense<[51, 52, 53]> : tensor<3xi32>) constant : !fir.array<3xi32>
17*b914efc5SValentin Clement!CHECK: func @_QPss() {
18*b914efc5SValentin Clement!CHECK:  %[[a0:.*]] = fir.alloca i32 {bindc_name = "n", uniq_name = "_QFssEn"}
19*b914efc5SValentin Clement!CHECK:  %[[c0:.*]] = arith.constant 53 : i32
20*b914efc5SValentin Clement!CHECK:  fir.store %[[c0]] to %[[a0]] : !fir.ref<i32>
21*b914efc5SValentin Clement!CHECK:  return
22*b914efc5SValentin Clement!CHECK: }
23