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 9f8878546SSriraman Tallam // RUN: not %clang_cc1 -fbasic-block-sections=list= -emit-obj %s 2>&1 | FileCheck %s --check-prefix=ERROR 10e0bca46bSSriraman Tallam 11e0bca46bSSriraman Tallam int world(int a) { 12e0bca46bSSriraman Tallam if (a > 10) 13e0bca46bSSriraman Tallam return 10; 14e0bca46bSSriraman Tallam else if (a > 5) 15e0bca46bSSriraman Tallam return 5; 16e0bca46bSSriraman Tallam else 17e0bca46bSSriraman Tallam return 0; 18e0bca46bSSriraman Tallam } 19e0bca46bSSriraman Tallam 20e0bca46bSSriraman Tallam int another(int a) { 21e0bca46bSSriraman Tallam if (a > 10) 22e0bca46bSSriraman Tallam return 20; 23e0bca46bSSriraman Tallam return 0; 24e0bca46bSSriraman Tallam } 25e0bca46bSSriraman Tallam 26e0bca46bSSriraman Tallam // PLAIN-NOT: section 27e0bca46bSSriraman Tallam // PLAIN: world: 28e0bca46bSSriraman Tallam // 29e0bca46bSSriraman Tallam // BB_WORLD: .section .text.world,"ax",@progbits{{$}} 30e0bca46bSSriraman Tallam // BB_WORLD: world: 31e0bca46bSSriraman Tallam // BB_WORLD: .section .text.world,"ax",@progbits,unique 32e0bca46bSSriraman Tallam // BB_WORLD: world.1: 33e0bca46bSSriraman Tallam // BB_WORLD: .section .text.another,"ax",@progbits 34e0bca46bSSriraman Tallam // BB_ALL: .section .text.another,"ax",@progbits,unique 35e0bca46bSSriraman Tallam // BB_ALL: another.1: 36e0bca46bSSriraman Tallam // BB_LIST-NOT: .section .text.another,"ax",@progbits,unique 37e0bca46bSSriraman Tallam // BB_LIST: another: 38e0bca46bSSriraman Tallam // BB_LIST-NOT: another.1: 39e0bca46bSSriraman Tallam // 40e0bca46bSSriraman Tallam // UNIQUE: .section .text.world.world.1, 41e0bca46bSSriraman Tallam // UNIQUE: .section .text.another.another.1, 42*829b9f66SFangrui Song // ERROR: error: unable to load basic block sections function list: '{{[Nn]}}o such file or directory' 43