blob: fa64d244957d252cbfbf655f25b54d832c35a784 [file] [log] [blame]
// RUN: %clang_cc1 -O0 -triple x86_64-unknown-linux-gnu -fclangir -emit-cir %s -o %t.cir
// RUN: FileCheck --input-file=%t.cir %s --check-prefix=CHECK-O0
// RUN: %clang_cc1 -O2 -triple x86_64-unknown-linux-gnu -fclangir -emit-cir %s -o %t.cir
// RUN: FileCheck --input-file=%t.cir %s --check-prefix=CHECK-O2
void ret_void() {}
// CHECK-O0: cir.func @_Z8ret_voidv()
// CHECK-O0-NEXT: cir.return
// CHECK-O0-NEXT: }
// CHECK-O2: cir.func @_Z8ret_voidv()
// CHECK-O2-NEXT: cir.return
// CHECK-O2-NEXT: }
int ret_non_void() {}
// CHECK-O0: cir.func @_Z12ret_non_voidv() -> !s32i
// CHECK-O0-NEXT: %0 = cir.alloca !s32i, !cir.ptr<!s32i>, ["__retval"]
// CHECK-O0-NEXT: cir.trap
// CHECK-O0-NEXT: }
// CHECK-O2: cir.func @_Z12ret_non_voidv() -> !s32i
// CHECK-O2-NEXT: %0 = cir.alloca !s32i, !cir.ptr<!s32i>, ["__retval"]
// CHECK-O2-NEXT: cir.unreachable
// CHECK-O2-NEXT: }