1e0bca46bSSriraman Tallam // REQUIRES: x86-registered-target
2e0bca46bSSriraman Tallam
37841e21cSRahman Lavaee // RUN: %clang_cc1 -triple x86_64 -S -o - < %s | FileCheck %s --check-prefix=PLAIN
47841e21cSRahman Lavaee // RUN: %clang_cc1 -triple x86_64 -S -fbasic-block-sections=all -fbasic-block-sections=none -o - < %s | FileCheck %s --check-prefix=PLAIN
5e0bca46bSSriraman Tallam
67841e21cSRahman Lavaee // RUN: %clang_cc1 -triple x86_64 -S -fbasic-block-sections=all -o - < %s | FileCheck %s --check-prefix=BB_WORLD --check-prefix=BB_ALL
77841e21cSRahman Lavaee // RUN: %clang_cc1 -triple x86_64 -S -fbasic-block-sections=list=%S/Inputs/basic-block-sections.funcnames -o - < %s | FileCheck %s --check-prefix=BB_WORLD --check-prefix=BB_LIST
87841e21cSRahman Lavaee // RUN: %clang_cc1 -triple x86_64 -S -fbasic-block-sections=all -funique-basic-block-section-names -o - < %s | FileCheck %s --check-prefix=UNIQUE
9e625f9c5SFangrui Song // RUN: rm -f %t
1042a21778SAbhina Sreeskantharajan // RUN: not %clang_cc1 -fbasic-block-sections=list= -emit-obj -o %t %s 2>&1 | FileCheck -DMSG=%errc_ENOENT %s --check-prefix=ERROR
11e625f9c5SFangrui Song // RUN: not ls %t
12e0bca46bSSriraman Tallam
world(int a)13e0bca46bSSriraman Tallam int world(int a) {
14e0bca46bSSriraman Tallam if (a > 10)
15e0bca46bSSriraman Tallam return 10;
16e0bca46bSSriraman Tallam else if (a > 5)
17e0bca46bSSriraman Tallam return 5;
18e0bca46bSSriraman Tallam else
19e0bca46bSSriraman Tallam return 0;
20e0bca46bSSriraman Tallam }
21e0bca46bSSriraman Tallam
another(int a)22e0bca46bSSriraman Tallam int another(int a) {
23e0bca46bSSriraman Tallam if (a > 10)
24e0bca46bSSriraman Tallam return 20;
25e0bca46bSSriraman Tallam return 0;
26e0bca46bSSriraman Tallam }
27e0bca46bSSriraman Tallam
28e0bca46bSSriraman Tallam // PLAIN-NOT: section
29e0bca46bSSriraman Tallam // PLAIN: world:
30e0bca46bSSriraman Tallam //
31e0bca46bSSriraman Tallam // BB_WORLD: .section .text.world,"ax",@progbits{{$}}
32e0bca46bSSriraman Tallam // BB_WORLD: world:
33e0bca46bSSriraman Tallam // BB_WORLD: .section .text.world,"ax",@progbits,unique
3434e70d72SSriraman Tallam // BB_WORLD: world.__part.1:
35*e7419163SSriraman Tallam // BB_ALL: .section .text.another,"ax",@progbits
3634e70d72SSriraman Tallam // BB_ALL: another.__part.1:
37*e7419163SSriraman Tallam // BB_LIST-NOT: .section .text.another,"ax",@progbits
38e0bca46bSSriraman Tallam // BB_LIST: another:
3934e70d72SSriraman Tallam // BB_LIST-NOT: another.__part.1:
40e0bca46bSSriraman Tallam //
4134e70d72SSriraman Tallam // UNIQUE: .section .text.world.world.__part.1,
4234e70d72SSriraman Tallam // UNIQUE: .section .text.another.another.__part.1,
4342a21778SAbhina Sreeskantharajan // ERROR: error: unable to load basic block sections function list: '[[MSG]]'
44