OLD | NEW |
---|---|
1 ; Test that functions are aligned to the NaCl bundle alignment. | 1 ; Test that functions are aligned to the NaCl bundle alignment. |
2 ; We could be smarter and only do this for indirect call targets | 2 ; We could be smarter and only do this for indirect call targets |
3 ; but typically you want to align functions anyway. | 3 ; but typically you want to align functions anyway. |
4 ; Also, we are currently using hlts for non-executable padding. | 4 ; Also, we are currently using hlts for non-executable padding. |
5 | 5 |
6 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 | FileCheck %s | 6 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 | FileCheck %s |
7 | 7 |
8 ; TODO(jvoung): Stop skipping unimplemented parts (via --skip-unimplemented) | 8 ; TODO(jvoung): Stop skipping unimplemented parts (via --skip-unimplemented) |
9 ; once enough infrastructure is in. Also, switch to --filetype=obj | 9 ; once enough infrastructure is in. Also, switch to --filetype=obj |
10 ; when possible. | 10 ; when possible. |
11 ; RUN: %if --need=target_ARM32 --need=allow_dump \ | 11 ; RUN: %if --need=target_ARM32 --need=allow_dump \ |
12 ; RUN: --command %p2i --filetype=asm --assemble \ | 12 ; RUN: --command %p2i --filetype=asm --assemble \ |
13 ; RUN: --disassemble --target arm32 -i %s --args -O2 --skip-unimplemented \ | 13 ; RUN: --disassemble --target arm32 -i %s --args -O2 --skip-unimplemented \ |
14 ; RUN: | %if --need=target_ARM32 --need=allow_dump \ | 14 ; RUN: | %if --need=target_ARM32 --need=allow_dump \ |
15 ; RUN: --command FileCheck --check-prefix ARM32 %s | 15 ; RUN: --command FileCheck --check-prefix ARM32 %s |
16 ; RUN: %if --need=target_MIPS32 --command %p2i --filetype=asm --assemble \ | |
jvoung (off chromium)
2015/07/07 18:02:35
Can you add the "--need=allow_dump " that is now p
reed.kotler
2015/07/08 02:05:17
Done.
| |
17 ; RUN: --disassemble --target mips32 -i %s --args -O2 --skip-unimplemented \ | |
18 ; RUN: | %if --need=target_MIPS32 --command FileCheck --check-prefix MIPS32 %s | |
jvoung (off chromium)
2015/07/07 18:02:35
this line also requires a "--need=allow_dump" befo
reed.kotler
2015/07/08 02:05:17
Done.
| |
16 | 19 |
17 define void @foo() { | 20 define void @foo() { |
18 ret void | 21 ret void |
19 } | 22 } |
20 ; CHECK-LABEL: foo | 23 ; CHECK-LABEL: foo |
21 ; CHECK-NEXT: 0: {{.*}} ret | 24 ; CHECK-NEXT: 0: {{.*}} ret |
22 ; CHECK-NEXT: 1: {{.*}} hlt | 25 ; CHECK-NEXT: 1: {{.*}} hlt |
23 ; ARM32-LABEL: foo | 26 ; ARM32-LABEL: foo |
24 ; ARM32-NEXT: 0: {{.*}} bx lr | 27 ; ARM32-NEXT: 0: {{.*}} bx lr |
25 ; ARM32-NEXT: 4: e7fedef0 udf | 28 ; ARM32-NEXT: 4: e7fedef0 udf |
26 ; ARM32-NEXT: 8: e7fedef0 udf | 29 ; ARM32-NEXT: 8: e7fedef0 udf |
27 ; ARM32-NEXT: c: e7fedef0 udf | 30 ; ARM32-NEXT: c: e7fedef0 udf |
31 ; TODO (Reed Kotler check this disassembly, .s file looks fine) | |
jvoung (off chromium)
2015/07/07 18:02:35
"TODO(reed kotler)" for consistency
Or just leave
reed.kotler
2015/07/08 02:05:17
Done.
| |
32 ; MIPS32-LABEL: foo | |
33 ; MIPS32: 4: {{.*}} jr ra | |
34 ; MIPS32-NEXT: 8: {{.*}} nop | |
35 ; MIPS32-NEXT: c: e7fedef0 | |
jvoung (off chromium)
2015/07/07 18:02:35
I think the main TODO is that "e7fedef0" is an "un
reed.kotler
2015/07/07 21:54:55
Done.
| |
28 | 36 |
29 define void @bar() { | 37 define void @bar() { |
30 ret void | 38 ret void |
31 } | 39 } |
32 ; CHECK-LABEL: bar | 40 ; CHECK-LABEL: bar |
33 ; CHECK-NEXT: 20: {{.*}} ret | 41 ; CHECK-NEXT: 20: {{.*}} ret |
34 ; ARM32-LABEL: bar | 42 ; ARM32-LABEL: bar |
35 ; ARM32-NEXT: 10: {{.*}} bx lr | 43 ; ARM32-NEXT: 10: {{.*}} bx lr |
44 ; TOOD (Reed Kotler check this disassembly, .s file looks fine) | |
jvoung (off chromium)
2015/07/07 18:02:35
Probably don't need a TODO, since this block doesn
reed.kotler
2015/07/07 21:54:55
Done.
jvoung (off chromium)
2015/07/08 00:39:11
Doesn't appear to be removed?
reed.kotler
2015/07/08 02:05:17
Done.
| |
45 ; MIPS32-LABEL: bar | |
46 ; MIPS32: 14: {{.*}} jr ra | |
47 ; MIPS32-NEXT: 18: {{.*}} nop | |
OLD | NEW |