blob: 02af79a6d79da4a26751fe745107f793ea04cff0 [file] [log] [blame]
; This is a smoke test of function reordering.
; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 \
; RUN: -sz-seed=1 -reorder-functions \
; RUN: | FileCheck %s --check-prefix=DEFAULTWINDOWSIZE
; RUN: %p2i -i %s --filetype=obj --disassemble --args -Om1 \
; RUN: -sz-seed=1 -reorder-functions \
; RUN: | FileCheck %s --check-prefix=DEFAULTWINDOWSIZE
; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 \
; RUN: -sz-seed=1 -reorder-functions \
; RUN: -reorder-functions-window-size=1 \
; RUN: | FileCheck %s --check-prefix=WINDOWSIZE1
; RUN: %p2i -i %s --filetype=obj --disassemble --args -Om1 \
; RUN: -sz-seed=1 -reorder-functions \
; RUN: -reorder-functions-window-size=1 \
; RUN: | FileCheck %s --check-prefix=WINDOWSIZE1
; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 \
; RUN: -sz-seed=1 -reorder-functions \
; RUN: -threads=0 \
; RUN: | FileCheck %s --check-prefix=SEQUENTIAL
; RUN: %p2i -i %s --filetype=obj --disassemble --args -Om1 \
; RUN: -sz-seed=1 -reorder-functions \
; RUN: -threads=0 \
; RUN: | FileCheck %s --check-prefix=SEQUENTIAL
; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 \
; RUN: -sz-seed=1 -reorder-functions \
; RUN: -reorder-functions-window-size=0xffffffff \
; RUN: | FileCheck %s --check-prefix=WINDOWSIZEMAX
; RUN: %p2i -i %s --filetype=obj --disassemble --args -Om1 \
; RUN: -sz-seed=1 -reorder-functions \
; RUN: -reorder-functions-window-size=0xffffffff \
; RUN: | FileCheck %s --check-prefix=WINDOWSIZEMAX
define void @func1() {
ret void
}
define void @func2() {
ret void
}
define void @func3() {
ret void
}
define void @func4() {
ret void
}
define void @func5() {
ret void
}
define void @func6() {
ret void
}
; DEFAULTWINDOWSIZE-LABEL: func4
; DEFAULTWINDOWSIZE-LABEL: func1
; DEFAULTWINDOWSIZE-LABEL: func3
; DEFAULTWINDOWSIZE-LABEL: func6
; DEFAULTWINDOWSIZE-LABEL: func5
; DEFAULTWINDOWSIZE-LABEL: func2
; WINDOWSIZE1-LABEL: func1
; WINDOWSIZE1-LABEL: func2
; WINDOWSIZE1-LABEL: func3
; WINDOWSIZE1-LABEL: func4
; WINDOWSIZE1-LABEL: func5
; WINDOWSIZE1-LABEL: func6
; SEQUENTIAL-LABEL: func1
; SEQUENTIAL-LABEL: func2
; SEQUENTIAL-LABEL: func3
; SEQUENTIAL-LABEL: func4
; SEQUENTIAL-LABEL: func5
; SEQUENTIAL-LABEL: func6
; WINDOWSIZEMAX-LABEL: func4
; WINDOWSIZEMAX-LABEL: func1
; WINDOWSIZEMAX-LABEL: func3
; WINDOWSIZEMAX-LABEL: func6
; WINDOWSIZEMAX-LABEL: func5
; WINDOWSIZEMAX-LABEL: func2