@@ -324,22 +324,21 @@ void bar() {
324324// CIR-LABEL: @_Z3barv
325325// CIR: %[[V0:.*]] = cir.alloca !rec_A, !cir.ptr<!rec_A>, ["a"] {alignment = 1 : i64}
326326// CIR: %[[V1:.*]] = cir.alloca !s32i, !cir.ptr<!s32i>, ["b", init] {alignment = 4 : i64}
327- // CIR: %[[V2:.*]] = cir.alloca !s32i, !cir.ptr<!s32i>, ["tmp.try.call.res"] {alignment = 4 : i64}
328- // CIR: cir.try synthetic cleanup {
329- // CIR: %[[V4:.*]] = cir.call exception @_Z3foov() : () -> !s32i cleanup {
330- // CIR: cir.call @_ZN1AD2Ev(%[[V0]]) : (!cir.ptr<!rec_A>) -> () extra(#fn_attr)
331- // CIR: cir.yield
332- // CIR: }
333- // CIR: cir.store{{.*}} %[[V4]], %[[V2]] : !s32i, !cir.ptr<!s32i>
334- // CIR: cir.yield
335- // CIR: } catch [#cir.unwind {
336- // CIR: cir.resume
337- // CIR: }]
338- // CIR: %[[V3:.*]] = cir.load{{.*}} %[[V2]] : !cir.ptr<!s32i>, !s32i
339- // CIR: cir.store{{.*}} %[[V3]], %[[V1]] : !s32i, !cir.ptr<!s32i>
340- // CIR: cir.call @_ZN1AD2Ev(%[[V0]]) : (!cir.ptr<!rec_A>) -> () extra(#fn_attr)
327+ // CIR: %[[V2:.*]] = cir.call @_Z3foov() : () -> !s32i
328+ // CIR: cir.store align(4) %[[V2]], %[[V1]] : !s32i, !cir.ptr<!s32i>
329+ // CIR: cir.call @_ZN1AD2Ev(%[[V0]]) : (!cir.ptr<!rec_A>) -> ()
341330// CIR: cir.return
342331
332+ // LLVM: ; Function Attrs: noinline nounwind optnone
333+ // LLVM-NEXT: _Z3foo
334+ // LLVM: @_Z3barv()
335+ // LLVM: %[[V1:.*]] = alloca %struct.A, i64 1, align 1
336+ // LLVM: %[[V2:.*]] = alloca i32, i64 1, align 4
337+ // LLVM: %[[V3:.*]] = call i32 @_Z3foov()
338+ // LLVM: store i32 %[[V3]], ptr %[[V2]], align 4
339+ // LLVM: call void @_ZN1AD2Ev(ptr %[[V1]])
340+ // LLVM: ret void
341+
343342class C {
344343public:
345344 ~C ();
0 commit comments