| Index: tests_lit/llvm2ice_tests/reorder-basic-blocks.ll
|
| diff --git a/tests_lit/llvm2ice_tests/reorder-basic-blocks.ll b/tests_lit/llvm2ice_tests/reorder-basic-blocks.ll
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..eb6dea6f589ebd2b4588662fdf79af95623ed002
|
| --- /dev/null
|
| +++ b/tests_lit/llvm2ice_tests/reorder-basic-blocks.ll
|
| @@ -0,0 +1,42 @@
|
| +; Trivial smoke test of basic block reordering. Different random seeds should
|
| +; generate different basic block layout.
|
| +; REQUIRES allow_dump
|
| +
|
| +; RUN: %p2i -i %s --filetype=asm --args -O2 -sz-seed=1 \
|
| +; RUN: -reorder-basic-blocks -threads=0 \
|
| +; RUN: | FileCheck %s --check-prefix=SEED1
|
| +; RUN: %p2i -i %s --filetype=asm --args -O2 -sz-seed=2 \
|
| +; RUN: -reorder-basic-blocks -threads=0 \
|
| +; RUN: | FileCheck %s --check-prefix=SEED2
|
| +
|
| +define void @basic_block_reordering(i32 %foo, i32 %bar) {
|
| +entry:
|
| + %r1 = icmp eq i32 %foo, %bar
|
| + br i1 %r1, label %BB1, label %BB2
|
| +BB1:
|
| + %r2 = icmp sgt i32 %foo, %bar
|
| + br i1 %r2, label %BB3, label %BB4
|
| +BB2:
|
| + %r3 = icmp slt i32 %foo, %bar
|
| + br i1 %r3, label %BB3, label %BB4
|
| +BB3:
|
| + ret void
|
| +BB4:
|
| + ret void
|
| +
|
| +
|
| +; SEED1-LABEL: basic_block_reordering:
|
| +; SEED1: .Lbasic_block_reordering$entry:
|
| +; SEED1: .Lbasic_block_reordering$BB1:
|
| +; SEED1: .Lbasic_block_reordering$BB2:
|
| +; SEED1: .Lbasic_block_reordering$BB3:
|
| +; SEED1: .Lbasic_block_reordering$BB4:
|
| +
|
| +; SEED2-LABEL: basic_block_reordering:
|
| +; SEED2: .Lbasic_block_reordering$entry:
|
| +; SEED2: .Lbasic_block_reordering$BB2:
|
| +; SEED2: .Lbasic_block_reordering$BB1:
|
| +; SEED2: .Lbasic_block_reordering$BB4:
|
| +; SEED2: .Lbasic_block_reordering$BB3
|
| +}
|
| +
|
|
|