// RUN: cir-opt %s --verify-roundtrip | FileCheck %s !s32i = !cir.int module { cir.global external @a = #cir.zero : !cir.array // CHECK: cir.global external @a = #cir.zero : !cir.array cir.global external @aa = #cir.zero : !cir.array x 10> // CHECK: cir.global external @aa = #cir.zero : !cir.array x 10> cir.global external @b = #cir.zero : !cir.array // CHECK: cir.global external @b = #cir.zero : !cir.array cir.global external @bb = #cir.zero : !cir.array x 10> // CHECK: cir.global external @bb = #cir.zero : !cir.array x 10> cir.global external @c = #cir.zero : !cir.array // CHECK: cir.global external @c = #cir.zero : !cir.array cir.global external @d = #cir.const_array<[#cir.int<1> : !s32i, #cir.int<2> : !s32i, #cir.int<3> : !s32i]> : !cir.array // CHECK: cir.global external @d = #cir.const_array<[#cir.int<1> : !s32i, #cir.int<2> : !s32i, #cir.int<3> : !s32i]> : !cir.array cir.global external @dd = #cir.const_array<[#cir.const_array<[#cir.int<1> : !s32i, #cir.int<2> : !s32i]> : !cir.array, #cir.const_array<[#cir.int<3> : !s32i, #cir.int<4> : !s32i]> : !cir.array, #cir.const_array<[#cir.int<5> : !s32i, #cir.int<6> : !s32i]> : !cir.array]> : !cir.array x 3> // CHECK: cir.global external @dd = #cir.const_array<[#cir.const_array<[#cir.int<1> : !s32i, #cir.int<2> : !s32i]> : !cir.array, #cir.const_array<[#cir.int<3> : !s32i, #cir.int<4> : !s32i]> : !cir.array, #cir.const_array<[#cir.int<5> : !s32i, #cir.int<6> : !s32i]> : !cir.array]> : !cir.array x 3> cir.global external @e = #cir.const_array<[#cir.int<1> : !s32i, #cir.int<2> : !s32i], trailing_zeros> : !cir.array // CHECK: cir.global external @e = #cir.const_array<[#cir.int<1> : !s32i, #cir.int<2> : !s32i], trailing_zeros> : !cir.array cir.func @func() { %0 = cir.alloca !cir.array, !cir.ptr>, ["l"] {alignment = 4 : i64} cir.return } // CHECK: cir.func{{.*}} @func() { // CHECK: %0 = cir.alloca !cir.array, !cir.ptr>, ["l"] {alignment = 4 : i64} // CHECK: cir.return // CHECK: } cir.func @func2(%arg0: !cir.ptr) { %0 = cir.alloca !cir.ptr, !cir.ptr>, ["p", init] {alignment = 8 : i64} cir.store %arg0, %0 : !cir.ptr, !cir.ptr> cir.return } // CHECK: cir.func{{.*}} @func2(%arg0: !cir.ptr) { // CHECK: %0 = cir.alloca !cir.ptr, !cir.ptr>, ["p", init] {alignment = 8 : i64} // CHECK: cir.store %arg0, %0 : !cir.ptr, !cir.ptr> // CHECK: cir.return // CHECK: } cir.func @func3(%arg0: !cir.ptr>) { %0 = cir.alloca !cir.ptr>, !cir.ptr>>, ["pp", init] {alignment = 8 : i64} cir.store %arg0, %0 : !cir.ptr>, !cir.ptr>> cir.return } // CHECK: cir.func{{.*}} @func3(%arg0: !cir.ptr>) { // CHECK: %0 = cir.alloca !cir.ptr>, !cir.ptr>>, ["pp", init] {alignment = 8 : i64} // CHECK: cir.store %arg0, %0 : !cir.ptr>, !cir.ptr>> // CHECK: cir.return // CHECK: } }