30 lines · plain
1 2// RUN: cir-opt %s --verify-roundtrip | FileCheck %s3 4!u8i = !cir.int<u, 8>5!rec_S = !cir.record<struct "S" padded {!u8i}>6 7module {8 cir.func private @_ZN1SC1Ev(!cir.ptr<!rec_S>)9 cir.func dso_local @_Z3foov() {10 %0 = cir.alloca !cir.array<!rec_S x 42>, !cir.ptr<!cir.array<!rec_S x 42>>, ["s", init] {alignment = 16 : i64}11 cir.array.ctor %0 : !cir.ptr<!cir.array<!rec_S x 42>> {12 ^bb0(%arg0: !cir.ptr<!rec_S>):13 cir.call @_ZN1SC1Ev(%arg0) : (!cir.ptr<!rec_S>) -> ()14 cir.yield15 }16 cir.return17 }18 19 // CHECK: cir.func private @_ZN1SC1Ev(!cir.ptr<!rec_S>)20 // CHECK: cir.func dso_local @_Z3foov() {21 // CHECK: %0 = cir.alloca !cir.array<!rec_S x 42>, !cir.ptr<!cir.array<!rec_S x 42>>, ["s", init] {alignment = 16 : i64}22 // CHECK: cir.array.ctor %0 : !cir.ptr<!cir.array<!rec_S x 42>> {23 // CHECK: ^bb0(%arg0: !cir.ptr<!rec_S>):24 // CHECK: cir.call @_ZN1SC1Ev(%arg0) : (!cir.ptr<!rec_S>) -> ()25 // CHECK: cir.yield26 // CHECK: }27 // CHECK: cir.return28 // CHECK: }29}30