[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / CodeGen / codemodels.c
blobedc1815d475fd4770010c37ca10da31cd3b0c560
1 // RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s -check-prefix=CHECK-NOMODEL
2 // RUN: %clang_cc1 -triple aarch64 -emit-llvm -mcmodel=tiny %s -o - | FileCheck %s -check-prefix=CHECK-TINY
3 // RUN: %clang_cc1 -emit-llvm -mcmodel=small %s -o - | FileCheck %s -check-prefix=CHECK-SMALL
4 // RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -emit-llvm -mcmodel=kernel %s -o - | FileCheck %s -check-prefix=CHECK-KERNEL
5 // RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -emit-llvm -mcmodel=medium %s -o - | FileCheck %s -check-prefix=CHECK-MEDIUM
6 // RUN: %clang_cc1 -emit-llvm -mcmodel=large %s -o - | FileCheck %s -check-prefix=CHECK-LARGE
8 // CHECK-TINY: !llvm.module.flags = !{{{.*}}}
9 // CHECK-TINY: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 0}
10 // CHECK-SMALL: !llvm.module.flags = !{{{.*}}}
11 // CHECK-SMALL: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 1}
12 // CHECK-KERNEL: !llvm.module.flags = !{{{.*}}}
13 // CHECK-KERNEL: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 2}
14 // CHECK-MEDIUM: !llvm.module.flags = !{{{.*}}}
15 // CHECK-MEDIUM: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 3}
16 // CHECK-LARGE: !llvm.module.flags = !{{{.*}}}
17 // CHECK-LARGE: !{{[0-9]+}} = !{i32 1, !"Code Model", i32 4}
18 // CHECK-NOMODEL-NOT: Code Model