Clang Project

clang_source_code/test/CodeGen/codemodels.c
1// RUN: %clang_cc1 -emit-llvm  %s -o - | FileCheck %s -check-prefix=CHECK-NOMODEL
2// RUN: %clang_cc1 -triple aarch64-unknown-none-eabi -emit-llvm -mcode-model tiny %s -o - | FileCheck %s -check-prefix=CHECK-TINY
3// RUN: %clang_cc1 -emit-llvm -mcode-model small %s -o - | FileCheck %s -check-prefix=CHECK-SMALL
4// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -emit-llvm -mcode-model kernel %s -o - | FileCheck %s -check-prefix=CHECK-KERNEL
5// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -emit-llvm -mcode-model medium %s -o - | FileCheck %s -check-prefix=CHECK-MEDIUM
6// RUN: %clang_cc1 -emit-llvm -mcode-model large %s -o - | FileCheck %s -check-prefix=CHECK-LARGE
7
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
19