| Index: tests_lit/llvm2ice_tests/branch-opt.ll
|
| diff --git a/tests_lit/llvm2ice_tests/branch-opt.ll b/tests_lit/llvm2ice_tests/branch-opt.ll
|
| index 965b5025b120d674fb043228712ee2c291551eca..3bfed0d29fe6af45c6a402ab2dc4fe2292505750 100644
|
| --- a/tests_lit/llvm2ice_tests/branch-opt.ll
|
| +++ b/tests_lit/llvm2ice_tests/branch-opt.ll
|
| @@ -9,15 +9,18 @@
|
| ; RUN: --target x8632 -i %s --args -Om1 -allow-externally-defined-symbols \
|
| ; RUN: | %if --need=target_X8632 --command FileCheck --check-prefix=OM1 %s
|
|
|
| +; TODO(jvoung): Stop skipping unimplemented parts (via --skip-unimplemented)
|
| +; once enough infrastructure is in. Also, switch to --filetype=obj
|
| +; when possible.
|
| ; RUN: %if --need=target_ARM32 --need=allow_dump \
|
| -; RUN: --command %p2i --filetype=obj --assemble \
|
| +; RUN: --command %p2i --filetype=asm --assemble \
|
| ; RUN: --disassemble --target arm32 -i %s --args -O2 \
|
| ; RUN: -allow-externally-defined-symbols \
|
| ; RUN: | %if --need=target_ARM32 --need=allow_dump \
|
| ; RUN: --command FileCheck --check-prefix ARM32O2 %s
|
|
|
| ; RUN: %if --need=target_ARM32 --need=allow_dump \
|
| -; RUN: --command %p2i --filetype=obj --assemble \
|
| +; RUN: --command %p2i --filetype=asm --assemble \
|
| ; RUN: --disassemble --target arm32 -i %s --args -Om1 \
|
| ; RUN: -allow-externally-defined-symbols \
|
| ; RUN: | %if --need=target_ARM32 --need=allow_dump \
|
| @@ -48,22 +51,13 @@ next:
|
| ; OM1: call
|
|
|
| ; ARM32O2-LABEL: testUncondToNextBlock
|
| -; ARM32O2: movw {{.+}} dummy
|
| -; ARM32O2-NEXT: movt
|
| -; ARM32O2-NEXT: blx
|
| -; ARM32O2-NEXT: movw {{.+}} dummy
|
| -; ARM32O2-NEXT: movt
|
| -; ARM32O2-NEXT: blx
|
| +; ARM32O2: bl {{.*}} dummy
|
| +; ARM32O2-NEXT: bl {{.*}} dummy
|
|
|
| ; ARM32OM1-LABEL: testUncondToNextBlock
|
| -; ARM32OM1: movw {{.+}} dummy
|
| -; ARM32OM1-NEXT: movt
|
| -; ARM32OM1-NEXT: blx
|
| +; ARM32OM1: bl {{.*}} dummy
|
| ; ARM32OM1-NEXT: b
|
| -; ARM32OM1-NEXT: movw {{.+}} dummy
|
| -; ARM32OM1-NEXT: movt
|
| -; ARM32OM1-NEXT: blx
|
| -
|
| +; ARM32OM1-NEXT: bl {{.*}} dummy
|
|
|
| ; For a conditional branch with a fallthrough to the next block, the
|
| ; fallthrough branch should be removed.
|
| @@ -99,16 +93,12 @@ target:
|
| ; OM1: ret
|
|
|
| ; ARM32O2-LABEL: testCondFallthroughToNextBlock
|
| -; ARM32O2: cmp {{.*}}, #123
|
| +; ARM32O2: cmp {{.*}}, #123
|
| ; ARM32O2-NEXT: bge
|
| -; ARM32O2-NEXT: movw {{.+}} dummy
|
| -; ARM32O2-NEXT: movt
|
| -; ARM32O2-NEXT: blx
|
| -; ARM32O2: bx lr
|
| -; ARM32O2-NEXT: movw {{.+}} dummy
|
| -; ARM32O2-NEXT: movt
|
| -; ARM32O2-NEXT: blx
|
| -; ARM32O2: bx lr
|
| +; ARM32O2-NEXT: bl
|
| +; ARM32O2: bx lr
|
| +; ARM32O2: bl
|
| +; ARM32O2: bx lr
|
|
|
| ; ARM32OM1-LABEL: testCondFallthroughToNextBlock
|
| ; ARM32OM1: mov {{.*}}, #0
|
| @@ -117,13 +107,9 @@ target:
|
| ; ARM32OM1: tst {{.*}}, #1
|
| ; ARM32OM1: bne
|
| ; ARM32OM1: b
|
| -; ARM32OM1: movw
|
| -; ARM32OM1: movt
|
| -; ARM32OM1: blx
|
| +; ARM32OM1: bl
|
| ; ARM32OM1: bx lr
|
| -; ARM32OM1: movw
|
| -; ARM32OM1: movt
|
| -; ARM32OM1: blx
|
| +; ARM32OM1: bl
|
| ; ARM32OM1: bx lr
|
|
|
| ; For a conditional branch with the next block as the target and a
|
| @@ -164,16 +150,12 @@ target:
|
| ; Note that compare and branch folding isn't implemented yet
|
| ; (compared to x86-32).
|
| ; ARM32O2-LABEL: testCondTargetNextBlock
|
| -; ARM32O2: cmp {{.*}}, #123
|
| +; ARM32O2: cmp {{.*}}, #123
|
| ; ARM32O2-NEXT: blt
|
| -; ARM32O2-NEXT: movw
|
| -; ARM32O2-NEXT: movt
|
| -; ARM32O2-NEXT: blx
|
| -; ARM32O2: bx lr
|
| -; ARM32O2-NEXT: movw
|
| -; ARM32O2-NEXT: movt
|
| -; ARM32O2-NEXT: blx
|
| -; ARM32O2: bx lr
|
| +; ARM32O2-NEXT: bl
|
| +; ARM32O2: bx lr
|
| +; ARM32O2: bl
|
| +; ARM32O2: bx lr
|
|
|
| ; ARM32OM1-LABEL: testCondTargetNextBlock
|
| ; ARM32OM1: cmp {{.*}}, #123
|
| @@ -181,9 +163,9 @@ target:
|
| ; ARM32OM1: tst {{.*}}, #1
|
| ; ARM32OM1: bne
|
| ; ARM32OM1: b
|
| -; ARM32OM1: blx
|
| +; ARM32OM1: bl
|
| ; ARM32OM1: bx lr
|
| -; ARM32OM1: blx
|
| +; ARM32OM1: bl
|
| ; ARM32OM1: bx lr
|
|
|
| ; Unconditional branches to the block after a contracted block should be
|
| @@ -212,18 +194,10 @@ target:
|
| ; OM1: call
|
|
|
| ; ARM32O2-LABEL: testUncondToBlockAfterContract
|
| -; ARM32O2: movw {{.+}} dummy
|
| -; ARM32O2-NEXT: movt
|
| -; ARM32O2-NEXT: blx
|
| -; ARM32O2-NEXT: movw {{.+}} dummy
|
| -; ARM32O2-NEXT: movt
|
| -; ARM32O2-NEXT: blx
|
| +; ARM32O2: bl {{.*}} dummy
|
| +; ARM32O2-NEXT: bl {{.*}} dummy
|
|
|
| ; ARM32OM1-LABEL: testUncondToBlockAfterContract
|
| -; ARM32OM1: movw {{.+}} dummy
|
| -; ARM32OM1-NEXT: movt
|
| -; ARM32OM1-NEXT: blx
|
| +; ARM32OM1: bl {{.*}} dummy
|
| ; ARM32OM1-NEXT: b
|
| -; ARM32OM1-NEXT: movw {{.+}} dummy
|
| -; ARM32OM1-NEXT: movt
|
| -; ARM32OM1-NEXT: blx
|
| +; ARM32OM1-NEXT: bl {{.*}} dummy
|
|
|