blob: 9ed44611e195d1deb46109b18d6183ae49239020 [file] [log] [blame] [edit]
// RUN: cir-opt %s | FileCheck %s
!s32i = !cir.int<s, 32>
!s64i = !cir.int<s, 64>
!u32i = !cir.int<u, 32>
!u64i = !cir.int<u, 64>
module {
// void empty() { }
cir.func @empty() {
cir.return
}
// CHECK: cir.func @empty() {
// CHECK: cir.return
// CHECK: }
// void voidret() { return; }
cir.func @voidret() {
cir.return
}
// CHECK: cir.func @voidret() {
// CHECK: cir.return
// CHECK: }
// int intfunc() { return 42; }
cir.func @intfunc() -> !s32i {
%0 = cir.const #cir.int<42> : !s32i
cir.return %0 : !s32i
}
// CHECK: cir.func @intfunc() -> !s32i {
// CHECK: %[[VAL:.*]] = cir.const #cir.int<42> : !s32i
// CHECK: cir.return %[[VAL]] : !s32i
// CHECK: }
// int scopes() {
// {
// {
// return 99;
// }
// }
//}
cir.func @scopes() -> !s32i {
cir.scope {
cir.scope {
%0 = cir.const #cir.int<99> : !s32i
cir.return %0 : !s32i
}
}
cir.trap
}
// CHECK: cir.func @scopes() -> !s32i {
// CHECK: cir.scope {
// CHECK: cir.scope {
// CHECK: %[[VAL:.*]] = cir.const #cir.int<99> : !s32i
// CHECK: cir.return %[[VAL]] : !s32i
// CHECK: }
// CHECK: }
// CHECK: cir.trap
// CHECK: }
// long longfunc() { return 42l; }
cir.func @longfunc() -> !s64i {
%0 = cir.const #cir.int<42> : !s64i
cir.return %0 : !s64i
}
// CHECK: cir.func @longfunc() -> !s64i
// CHECK: %0 = cir.const #cir.int<42> : !s64i
// CHECK: cir.return %0 : !s64i
// CHECK: }
// unsigned unsignedfunc() { return 42u; }
cir.func @unsignedfunc() -> !u32i {
%0 = cir.const #cir.int<42> : !u32i
cir.return %0 : !u32i
}
// CHECK: cir.func @unsignedfunc() -> !u32i
// CHECK: %[[VAL:.*]] = cir.const #cir.int<42> : !u32i
// CHECK: cir.return %[[VAL]] : !u32i
// CHECK: }
// unsigned long long ullfunc() { return 42ull; }
cir.func @ullfunc() -> !u64i {
%0 = cir.const #cir.int<42> : !u64i
cir.return %0 : !u64i
}
// CHECK: cir.func @ullfunc() -> !u64i
// CHECK: %[[VAL:.*]] = cir.const #cir.int<42> : !u64i
// CHECK: cir.return %[[VAL:.*]] : !u64i
// CHECK: }
}