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
10e625f9c5SFangrui Song // RUN: not %clang_cc1 -fbasic-block-sections=list= -emit-obj -o %t %s 2>&1 | FileCheck %s --check-prefix=ERROR
11e625f9c5SFangrui Song // RUN: not ls %t
12e0bca46bSSriraman Tallam 
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 
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
34*34e70d72SSriraman Tallam // BB_WORLD: world.__part.1:
35e0bca46bSSriraman Tallam // BB_WORLD: .section .text.another,"ax",@progbits
36e0bca46bSSriraman Tallam // BB_ALL: .section .text.another,"ax",@progbits,unique
37*34e70d72SSriraman Tallam // BB_ALL: another.__part.1:
38e0bca46bSSriraman Tallam // BB_LIST-NOT: .section .text.another,"ax",@progbits,unique
39e0bca46bSSriraman Tallam // BB_LIST: another:
40*34e70d72SSriraman Tallam // BB_LIST-NOT: another.__part.1:
41e0bca46bSSriraman Tallam //
42*34e70d72SSriraman Tallam // UNIQUE: .section .text.world.world.__part.1,
43*34e70d72SSriraman Tallam // UNIQUE: .section .text.another.another.__part.1,
44829b9f66SFangrui Song // ERROR: error:  unable to load basic block sections function list: '{{[Nn]}}o such file or directory'
45