mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
Rename basic block sections options to be consistent.
D68049 created options for basic block sections: -fbasic-block-sections=, -funique-basic-block-section-names. Rename options in llc and lld (--lto-) to be consistent. Specifically, + Rename basicblock-sections to basic-block-sections + Rename unique-bb-section-names to unique-basic-block-section-names Differential Revision: https://reviews.llvm.org/D84462
This commit is contained in:
parent
4def0a9062
commit
c09ff709a2
@ -332,7 +332,7 @@ codegen::RegisterCodeGenFlags::RegisterCodeGenFlags() {
|
||||
CGBINDOPT(FunctionSections);
|
||||
|
||||
static cl::opt<std::string> BBSections(
|
||||
"basicblock-sections",
|
||||
"basic-block-sections",
|
||||
cl::desc("Emit basic blocks into separate sections"),
|
||||
cl::value_desc("all | <function list (file)> | labels | none"),
|
||||
cl::init("none"));
|
||||
@ -352,7 +352,7 @@ codegen::RegisterCodeGenFlags::RegisterCodeGenFlags() {
|
||||
CGBINDOPT(UniqueSectionNames);
|
||||
|
||||
static cl::opt<bool> UniqueBasicBlockSectionNames(
|
||||
"unique-bb-section-names",
|
||||
"unique-basic-block-section-names",
|
||||
cl::desc("Give unique names to every basic block section"),
|
||||
cl::init(false));
|
||||
CGBINDOPT(UniqueBasicBlockSectionNames);
|
||||
|
@ -7,7 +7,7 @@
|
||||
; RUN: echo '!foo' > %t1
|
||||
; RUN: echo '!!0 2' >> %t1
|
||||
; RUN: echo '!!1' >> %t1
|
||||
; RUN: llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=%t1 | FileCheck %s -check-prefix=LINUX-SECTIONS1
|
||||
; RUN: llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=%t1 | FileCheck %s -check-prefix=LINUX-SECTIONS1
|
||||
;
|
||||
; Test2: Basic blocks #1 and #3 will be placed in the same section.
|
||||
; The rest (#0 and #2) go into the function's section.
|
||||
@ -15,7 +15,7 @@
|
||||
; #2 must have an explicit jump to #3.
|
||||
; RUN: echo '!foo' > %t2
|
||||
; RUN: echo '!!1 3' >> %t2
|
||||
; RUN: llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=%t2 | FileCheck %s -check-prefix=LINUX-SECTIONS2
|
||||
; RUN: llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=%t2 | FileCheck %s -check-prefix=LINUX-SECTIONS2
|
||||
|
||||
define void @foo(i1 zeroext) nounwind {
|
||||
%2 = alloca i8, align 1
|
@ -5,14 +5,14 @@
|
||||
; The rest will be placed in a section along with the entry basic block.
|
||||
; RUN: echo '!main' > %t1
|
||||
; RUN: echo '!!1 2' >> %t1
|
||||
; RUN: llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=%t1 | FileCheck %s -check-prefix=LINUX-SECTIONS1
|
||||
; RUN: llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=%t1 | FileCheck %s -check-prefix=LINUX-SECTIONS1
|
||||
;
|
||||
; Test2: Basic blocks #1, #2, and #3 go into a separate section.
|
||||
; No separate exception section will be created as #1 and #3 are already in one section.
|
||||
; The rest will be placed in a section along with the entry basic block.
|
||||
; RUN: echo '!main' > %t2
|
||||
; RUN: echo '!!1 2 3' >> %t2
|
||||
; RUN: llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=%t2 | FileCheck %s -check-prefix=LINUX-SECTIONS2
|
||||
; RUN: llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=%t2 | FileCheck %s -check-prefix=LINUX-SECTIONS2
|
||||
|
||||
@_ZTIi = external constant i8*
|
||||
|
@ -2,19 +2,19 @@
|
||||
; RUN: echo '!f' > %t1
|
||||
; RUN: echo '!!1 4' >> %t1
|
||||
; RUN: echo '!!1' >> %t1
|
||||
; RUN: not --crash llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=%t1 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR1
|
||||
; RUN: not --crash llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=%t1 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR1
|
||||
; CHECK-ERROR1: LLVM ERROR: Invalid profile {{.*}} at line 3: Duplicate basic block id found '1'.
|
||||
; RUN: echo '!f' > %t2
|
||||
; RUN: echo '!!4 0' >> %t2
|
||||
; RUN: not --crash llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=%t2 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR2
|
||||
; RUN: not --crash llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=%t2 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR2
|
||||
; CHECK-ERROR2: LLVM ERROR: Invalid profile {{.*}} at line 2: Entry BB (0) does not begin a cluster.
|
||||
; RUN: echo '!f' > %t3
|
||||
; RUN: echo '!!-1' >> %t3
|
||||
; RUN: not --crash llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=%t3 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR3
|
||||
; RUN: not --crash llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=%t3 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR3
|
||||
; CHECK-ERROR3: LLVM ERROR: Invalid profile {{.*}} at line 2: Unsigned integer expected: '-1'.
|
||||
; RUN: echo '!!1' > %t4
|
||||
; RUN: echo '!f' >> %t4
|
||||
; RUN: not --crash llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=%t4 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR4
|
||||
; RUN: not --crash llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=%t4 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR4
|
||||
; CHECK-ERROR4: LLVM ERROR: Invalid profile {{.*}} at line 1: Cluster list does not follow a function name specifier.
|
||||
|
||||
define i32 @dummy(i32 %x, i32 %y, i32 %z) {
|
@ -6,13 +6,13 @@
|
||||
; RUN: echo '!foo' > %t1
|
||||
; RUN: echo '!!0 2' >> %t1
|
||||
; RUN: echo '!!1' >> %t1
|
||||
; RUN: llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=%t1 | FileCheck %s -check-prefix=LINUX-SECTIONS1
|
||||
; RUN: llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=%t1 | FileCheck %s -check-prefix=LINUX-SECTIONS1
|
||||
;
|
||||
; Test2: Basic blocks #1 and #3 will be placed in the same section.
|
||||
; All other BBs (including the entry block) go into the function's section.
|
||||
; RUN: echo '!foo' > %t2
|
||||
; RUN: echo '!!1 3' >> %t2
|
||||
; RUN: llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=%t2 | FileCheck %s -check-prefix=LINUX-SECTIONS2
|
||||
; RUN: llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=%t2 | FileCheck %s -check-prefix=LINUX-SECTIONS2
|
||||
|
||||
define void @foo(i1 zeroext) nounwind {
|
||||
%2 = alloca i8, align 1
|
@ -2,7 +2,7 @@
|
||||
; Basic block with id 1 and 2 must be in the cold section.
|
||||
; RUN: echo '!_Z3bazb' > %t
|
||||
; RUN: echo '!!0' >> %t
|
||||
; RUN: llc < %s -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=%t -unique-bb-section-names | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
; RUN: llc < %s -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=%t -unique-basic-block-section-names | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
|
||||
define void @_Z3bazb(i1 zeroext) nounwind {
|
||||
%2 = alloca i8, align 1
|
@ -1,5 +1,5 @@
|
||||
; RUN: llc < %s -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=all -unique-bb-section-names | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
; RUN: llc < %s -mtriple=i386-unknown-linux-gnu -function-sections -basicblock-sections=all -unique-bb-section-names | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
; RUN: llc < %s -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=all -unique-basic-block-section-names | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
; RUN: llc < %s -mtriple=i386-unknown-linux-gnu -function-sections -basic-block-sections=all -unique-basic-block-section-names | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
|
||||
define void @_Z3bazb(i1 zeroext) {
|
||||
%2 = alloca i8, align 1
|
@ -1,5 +1,5 @@
|
||||
; Check if landing pads are kept in a separate eh section
|
||||
; RUN: llc < %s -mtriple=i386-unknown-linux-gnu -function-sections -basicblock-sections=all -unique-bb-section-names | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
; RUN: llc < %s -mtriple=i386-unknown-linux-gnu -function-sections -basic-block-sections=all -unique-basic-block-section-names | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
|
||||
@_ZTIb = external constant i8*
|
||||
define i32 @_Z3foob(i1 zeroext %0) #0 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
|
@ -1,5 +1,5 @@
|
||||
; Check the basic block sections labels option
|
||||
; RUN: llc < %s -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=labels | FileCheck %s -check-prefix=LINUX-LABELS
|
||||
; RUN: llc < %s -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=labels | FileCheck %s -check-prefix=LINUX-LABELS
|
||||
|
||||
define void @_Z3bazb(i1 zeroext) {
|
||||
%2 = alloca i8, align 1
|
@ -1,6 +1,6 @@
|
||||
; Check the basic block sections list option.
|
||||
; RUN: echo '!_Z3foob' > %t
|
||||
; RUN: llc < %s -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=%t -unique-bb-section-names | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
; RUN: llc < %s -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=%t -unique-basic-block-section-names | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
|
||||
define i32 @_Z3foob(i1 zeroext %0) nounwind {
|
||||
%2 = alloca i32, align 4
|
@ -2,7 +2,7 @@
|
||||
; Only basic block with id 2 must get a section.
|
||||
; RUN: echo '!_Z3bazb' > %t
|
||||
; RUN: echo '!!2' >> %t
|
||||
; RUN: llc < %s -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=%t -unique-bb-section-names | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
; RUN: llc < %s -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=%t -unique-basic-block-section-names | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
|
||||
define void @_Z3bazb(i1 zeroext) nounwind {
|
||||
%2 = alloca i8, align 1
|
@ -10,7 +10,7 @@
|
||||
# }
|
||||
#
|
||||
# clang -O0 -S -emit-llvm foo.cc
|
||||
# llc < foo.ll -stop-after=bbsections-prepare -basicblock-sections=all
|
||||
# llc < foo.ll -stop-after=bbsections-prepare -basic-block-sections=all
|
||||
|
||||
--- |
|
||||
; Function Attrs: noinline nounwind optnone uwtable
|
@ -2,7 +2,7 @@
|
||||
; RUN: echo '!_Z3foob' > %t
|
||||
; RUN: echo '!!1' >> %t
|
||||
; RUN: echo '!!2' >> %t
|
||||
; RUN: llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=%t -stop-after=bbsections-prepare | FileCheck %s -check-prefix=CHECK
|
||||
; RUN: llc < %s -O0 -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=%t -stop-after=bbsections-prepare | FileCheck %s -check-prefix=CHECK
|
||||
|
||||
@_ZTIb = external constant i8*
|
||||
define dso_local i32 @_Z3foob(i1 zeroext %0) {
|
@ -1,5 +1,5 @@
|
||||
; RUN: llc < %s -mtriple=x86_64-pc-linux -function-sections -basicblock-sections=all -unique-bb-section-names | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
; RUN: llc < %s -mtriple=i386-unknown-linux-gnu -function-sections -basicblock-sections=all -unique-bb-section-names | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
; RUN: llc < %s -mtriple=x86_64-pc-linux -function-sections -basic-block-sections=all -unique-basic-block-section-names | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
; RUN: llc < %s -mtriple=i386-unknown-linux-gnu -function-sections -basic-block-sections=all -unique-basic-block-section-names | FileCheck %s -check-prefix=LINUX-SECTIONS
|
||||
|
||||
define void @_Z3bazb(i1 zeroext) nounwind {
|
||||
%2 = alloca i8, align 1
|
@ -1,6 +1,6 @@
|
||||
; RUN: llc -O0 %s --basicblock-sections=all -mtriple=x86_64 -filetype=asm --frame-pointer=all -o - | FileCheck --check-prefix=SECTIONS_CFI %s
|
||||
; RUN: llc -O0 %s --basicblock-sections=all -mtriple=x86_64 -filetype=asm --frame-pointer=none -o - | FileCheck --check-prefix=SECTIONS_NOFP_CFI %s
|
||||
; RUN: llc -O0 %s --basicblock-sections=all -mtriple=x86_64 -filetype=obj --frame-pointer=all -o - | llvm-dwarfdump --eh-frame - | FileCheck --check-prefix=EH_FRAME %s
|
||||
; RUN: llc -O0 %s --basic-block-sections=all -mtriple=x86_64 -filetype=asm --frame-pointer=all -o - | FileCheck --check-prefix=SECTIONS_CFI %s
|
||||
; RUN: llc -O0 %s --basic-block-sections=all -mtriple=x86_64 -filetype=asm --frame-pointer=none -o - | FileCheck --check-prefix=SECTIONS_NOFP_CFI %s
|
||||
; RUN: llc -O0 %s --basic-block-sections=all -mtriple=x86_64 -filetype=obj --frame-pointer=all -o - | llvm-dwarfdump --eh-frame - | FileCheck --check-prefix=EH_FRAME %s
|
||||
|
||||
;; void f1();
|
||||
;; void f3(bool b) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
;; This test checks if CFI instructions for all callee saved registers are emitted
|
||||
;; correctly with basic block sections.
|
||||
; RUN: llc %s -mtriple=x86_64 -filetype=asm --basicblock-sections=all --frame-pointer=all -o - | FileCheck --check-prefix=SECTIONS_CFI %s
|
||||
; RUN: llc %s -mtriple=x86_64 -filetype=asm --basic-block-sections=all --frame-pointer=all -o - | FileCheck --check-prefix=SECTIONS_CFI %s
|
||||
|
||||
; SECTIONS_CFI: _Z3foob:
|
||||
; SECTIONS_CFI: .cfi_offset %rbp, -16
|
||||
|
@ -1,7 +1,7 @@
|
||||
; RUN: llc -O0 %s -mtriple=x86_64-* -filetype=obj -o %t && llvm-dwarfdump -debug-info -v %t | FileCheck --check-prefix=NO-SECTIONS %s
|
||||
; RUN: llc -O0 %s --basicblock-sections=all --unique-bb-section-names -mtriple=x86_64-* -filetype=obj -o %t && llvm-dwarfdump -debug-info -v %t | FileCheck --check-prefix=BB-SECTIONS %s
|
||||
; RUN: llc -O0 %s --basicblock-sections=all --unique-bb-section-names -mtriple=x86_64-* -filetype=obj -split-dwarf-file=%t.dwo -o %t && llvm-dwarfdump -debug-info -v %t | FileCheck --check-prefix=BB-SECTIONS %s
|
||||
; RUN: llc -O0 %s --basicblock-sections=all -mtriple=x86_64-* -filetype=asm -o - | FileCheck --check-prefix=BB-SECTIONS-ASM %s
|
||||
; RUN: llc -O0 %s --basic-block-sections=all --unique-basic-block-section-names -mtriple=x86_64-* -filetype=obj -o %t && llvm-dwarfdump -debug-info -v %t | FileCheck --check-prefix=BB-SECTIONS %s
|
||||
; RUN: llc -O0 %s --basic-block-sections=all --unique-basic-block-section-names -mtriple=x86_64-* -filetype=obj -split-dwarf-file=%t.dwo -o %t && llvm-dwarfdump -debug-info -v %t | FileCheck --check-prefix=BB-SECTIONS %s
|
||||
; RUN: llc -O0 %s --basic-block-sections=all -mtriple=x86_64-* -filetype=asm -o - | FileCheck --check-prefix=BB-SECTIONS-ASM %s
|
||||
|
||||
; From:
|
||||
; int foo(int a) {
|
Loading…
x
Reference in New Issue
Block a user