Tests converted from test/Lower: dense-attributed-array.f90, goto-statement.f90, infinite_loop.f90, return-statement.f90, stop-statement.f90
24 lines
1001 B
Fortran
24 lines
1001 B
Fortran
! RUN: %flang_fc1 -emit-hlfir %s -o - | FileCheck %s
|
|
|
|
! Test generation of dense attributed global array. Also, make sure there are
|
|
! no dead ssa assignments.
|
|
module mm
|
|
integer, parameter :: qq(3) = [(i,i=51,53)]
|
|
end
|
|
subroutine ss
|
|
use mm
|
|
n = qq(3)
|
|
end
|
|
!CHECK-NOT: %{{.*}} = fir.undefined !fir.array<3xi32>
|
|
!CHECK-NOT: %{{.*}} = arith.constant %{{.*}} : index
|
|
!CHECK-NOT: %{{.*}} = arith.constant %{{.*}} : i32
|
|
!CHECK-NOT: %{{.*}} = fir.insert_value %{{.*}}, %{{.*}}, [%{{.*}} : index] : (!fir.array<3xi32>, i32) -> !fir.array<3xi32>
|
|
!CHECK: fir.global @_QMmmECqq(dense<[51, 52, 53]> : tensor<3xi32>) constant : !fir.array<3xi32>
|
|
!CHECK: func.func @_QPss() {
|
|
!CHECK: %[[a0:.*]] = fir.alloca i32 {bindc_name = "n", uniq_name = "_QFssEn"}
|
|
!CHECK: %[[d0:.*]]:2 = hlfir.declare %[[a0]] {uniq_name = "_QFssEn"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
|
|
!CHECK: %[[c0:.*]] = arith.constant 53 : i32
|
|
!CHECK: hlfir.assign %[[c0]] to %[[d0]]#0 : i32, !fir.ref<i32>
|
|
!CHECK: return
|
|
!CHECK: }
|