OLD | NEW |
1 ; Tests the branch optimizations under O2 (against a lack of | 1 ; Tests the branch optimizations under O2 (against a lack of |
2 ; optimizations under Om1). | 2 ; optimizations under Om1). |
3 | 3 |
4 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ | 4 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ |
5 ; RUN: --target x8632 -i %s --args -O2 \ | 5 ; RUN: --target x8632 -i %s --args -O2 \ |
6 ; RUN: | %if --need=target_X8632 --command FileCheck --check-prefix=O2 %s | 6 ; RUN: | %if --need=target_X8632 --command FileCheck --check-prefix=O2 %s |
7 | 7 |
8 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ | 8 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ |
9 ; RUN: --target x8632 -i %s --args -Om1 \ | 9 ; RUN: --target x8632 -i %s --args -Om1 \ |
10 ; RUN: | %if --need=target_X8632 --command FileCheck --check-prefix=OM1 %s | 10 ; RUN: | %if --need=target_X8632 --command FileCheck --check-prefix=OM1 %s |
11 | 11 |
12 ; TODO(jvoung): Stop skipping unimplemented parts (via --skip-unimplemented) | 12 ; TODO(jvoung): Stop skipping unimplemented parts (via --skip-unimplemented) |
13 ; once enough infrastructure is in. Also, switch to --filetype=obj | 13 ; once enough infrastructure is in. Also, switch to --filetype=obj |
14 ; when possible. | 14 ; when possible. |
15 ; RUN: %if --need=target_ARM32 --command %p2i --filetype=asm --assemble \ | 15 ; RUN: %if --need=target_ARM32 --need=allow_dump \ |
| 16 ; RUN: --command %p2i --filetype=asm --assemble \ |
16 ; RUN: --disassemble --target arm32 -i %s --args -O2 --skip-unimplemented \ | 17 ; RUN: --disassemble --target arm32 -i %s --args -O2 --skip-unimplemented \ |
17 ; RUN: | %if --need=target_ARM32 --command FileCheck --check-prefix ARM32O2 %s | 18 ; RUN: | %if --need=target_ARM32 --need=allow_dump \ |
| 19 ; RUN: --command FileCheck --check-prefix ARM32O2 %s |
18 | 20 |
19 ; RUN: %if --need=target_ARM32 --command %p2i --filetype=asm --assemble \ | 21 ; RUN: %if --need=target_ARM32 --need=allow_dump \ |
| 22 ; RUN: --command %p2i --filetype=asm --assemble \ |
20 ; RUN: --disassemble --target arm32 -i %s --args -Om1 --skip-unimplemented \ | 23 ; RUN: --disassemble --target arm32 -i %s --args -Om1 --skip-unimplemented \ |
21 ; RUN: | %if --need=target_ARM32 --command FileCheck \ | 24 ; RUN: | %if --need=target_ARM32 --need=allow_dump \ |
| 25 ; RUN: --command FileCheck \ |
22 ; RUN: --check-prefix ARM32OM1 %s | 26 ; RUN: --check-prefix ARM32OM1 %s |
23 | 27 |
24 declare void @dummy() | 28 declare void @dummy() |
25 | 29 |
26 ; An unconditional branch to the next block should be removed. | 30 ; An unconditional branch to the next block should be removed. |
27 define void @testUncondToNextBlock() { | 31 define void @testUncondToNextBlock() { |
28 entry: | 32 entry: |
29 call void @dummy() | 33 call void @dummy() |
30 br label %next | 34 br label %next |
31 next: | 35 next: |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 ; ARM32OM1-LABEL: testCondTargetNextBlock | 162 ; ARM32OM1-LABEL: testCondTargetNextBlock |
159 ; ARM32OM1: cmp {{.*}}, #123 | 163 ; ARM32OM1: cmp {{.*}}, #123 |
160 ; ARM32OM1: movge {{.*}}, #1 | 164 ; ARM32OM1: movge {{.*}}, #1 |
161 ; ARM32OM1: cmp {{.*}}, #0 | 165 ; ARM32OM1: cmp {{.*}}, #0 |
162 ; ARM32OM1: bne | 166 ; ARM32OM1: bne |
163 ; ARM32OM1: b | 167 ; ARM32OM1: b |
164 ; ARM32OM1: bl | 168 ; ARM32OM1: bl |
165 ; ARM32OM1: bx lr | 169 ; ARM32OM1: bx lr |
166 ; ARM32OM1: bl | 170 ; ARM32OM1: bl |
167 ; ARM32OM1: bx lr | 171 ; ARM32OM1: bx lr |
OLD | NEW |