29 lines · plain
1// RUN: cir-opt %s --verify-roundtrip | FileCheck %s2 3!u8i = !cir.int<u, 8>4!rec_S = !cir.record<struct "S" padded {!u8i}>5 6module {7 cir.func private @_ZN1SD1Ev(!cir.ptr<!rec_S>)8 cir.func dso_local @_Z3foov() {9 %0 = cir.alloca !cir.array<!rec_S x 42>, !cir.ptr<!cir.array<!rec_S x 42>>, ["s", init] {alignment = 16 : i64}10 cir.array.dtor %0 : !cir.ptr<!cir.array<!rec_S x 42>> {11 ^bb0(%arg0: !cir.ptr<!rec_S>):12 cir.call @_ZN1SD1Ev(%arg0) : (!cir.ptr<!rec_S>) -> ()13 cir.yield14 }15 cir.return16 }17 18 // CHECK: cir.func private @_ZN1SD1Ev(!cir.ptr<!rec_S>)19 // CHECK: cir.func dso_local @_Z3foov() {20 // CHECK: %0 = cir.alloca !cir.array<!rec_S x 42>, !cir.ptr<!cir.array<!rec_S x 42>>, ["s", init] {alignment = 16 : i64}21 // CHECK: cir.array.dtor %0 : !cir.ptr<!cir.array<!rec_S x 42>> {22 // CHECK: ^bb0(%arg0: !cir.ptr<!rec_S>):23 // CHECK: cir.call @_ZN1SD1Ev(%arg0) : (!cir.ptr<!rec_S>) -> ()24 // CHECK: cir.yield25 // CHECK: }26 // CHECK: cir.return27 // CHECK: }28}29