| OLD | NEW |
| 1 ; Test of global initializers. | 1 ; Test of global initializers. |
| 2 | 2 |
| 3 ; REQUIRES: allow_dump | 3 ; REQUIRES: allow_dump |
| 4 | 4 |
| 5 ; Test -ias=0 to test the lea "hack" until we are fully confident in -ias=1 | 5 ; Test -ias=0 to test the lea "hack" until we are fully confident in -ias=1 |
| 6 ; RUN: %p2i -i %s --args --verbose none -ias=0 | FileCheck %s | 6 ; RUN: %p2i -i %s --args --verbose none -ias=0 | FileCheck %s |
| 7 | 7 |
| 8 ; Test -ias=1 and try to cross reference instructions w/ the symbol table. | 8 ; Test -ias=1 and try to cross reference instructions w/ the symbol table. |
| 9 ; RUN: %p2i -i %s --args --verbose none \ | 9 ; RUN: %p2i -i %s --args --verbose none \ |
| 10 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ | 10 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 ; CHECK: movl $ArrayUninit, | 111 ; CHECK: movl $ArrayUninit, |
| 112 | 112 |
| 113 ; llvm-objdump does not indicate what symbol the mov/relocation applies to | 113 ; llvm-objdump does not indicate what symbol the mov/relocation applies to |
| 114 ; so we grep for "mov {{.*}}, OFFSET", along with "OFFSET {{.*}} symbol" in | 114 ; so we grep for "mov {{.*}}, OFFSET", along with "OFFSET {{.*}} symbol" in |
| 115 ; the symbol table as a sanity check. NOTE: The symbol table sorting has no | 115 ; the symbol table as a sanity check. NOTE: The symbol table sorting has no |
| 116 ; relation to the code's references. | 116 ; relation to the code's references. |
| 117 ; IAS-LABEL: main | 117 ; IAS-LABEL: main |
| 118 ; SYMTAB-LABEL: SYMBOL TABLE | 118 ; SYMTAB-LABEL: SYMBOL TABLE |
| 119 | 119 |
| 120 ; SYMTAB-DAG: 00000000 {{.*}} .data {{.*}} PrimitiveInit | 120 ; SYMTAB-DAG: 00000000 {{.*}} .data {{.*}} PrimitiveInit |
| 121 ; IAS: mov {{.*}}, 0 | 121 ; IAS: mov {{.*}}, .data |
| 122 ; IAS-NEXT: R_386_32 | 122 ; IAS-NEXT: R_386_32 |
| 123 ; IAS: call | 123 ; IAS: call |
| 124 | 124 |
| 125 ; SYMTAB-DAG: 00000000 {{.*}} .rodata {{.*}} PrimitiveInitConst | 125 ; SYMTAB-DAG: 00000000 {{.*}} .rodata {{.*}} PrimitiveInitConst |
| 126 ; IAS: mov {{.*}}, 0 | 126 ; IAS: mov {{.*}}, .rodata |
| 127 ; IAS-NEXT: R_386_32 | 127 ; IAS-NEXT: R_386_32 |
| 128 ; IAS: call | 128 ; IAS: call |
| 129 | 129 |
| 130 ; SYMTAB-DAG: 00000000 {{.*}} .bss {{.*}} PrimitiveInitStatic | 130 ; SYMTAB-DAG: 00000000 {{.*}} .bss {{.*}} PrimitiveInitStatic |
| 131 ; IAS: mov {{.*}}, 0 | 131 ; IAS: mov {{.*}}, .bss |
| 132 ; IAS-NEXT: R_386_32 | 132 ; IAS-NEXT: R_386_32 |
| 133 ; IAS: call | 133 ; IAS: call |
| 134 | 134 |
| 135 ; SYMTAB-DAG: 00000004 {{.*}} .bss {{.*}} PrimitiveUninit | 135 ; SYMTAB-DAG: 00000004 {{.*}} .bss {{.*}} PrimitiveUninit |
| 136 ; IAS: mov {{.*}}, 4 | 136 ; IAS: mov {{.*}}, .bss |
| 137 ; IAS-NEXT: R_386_32 | 137 ; IAS-NEXT: R_386_32 |
| 138 ; IAS: call | 138 ; IAS: call |
| 139 | 139 |
| 140 ; SYMTAB-DAG: 00000004{{.*}}.data{{.*}}ArrayInit | 140 ; SYMTAB-DAG: 00000004{{.*}}.data{{.*}}ArrayInit |
| 141 ; IAS: mov {{.*}}, 4 | 141 ; IAS: mov {{.*}}, .data |
| 142 ; IAS-NEXT: R_386_32 | 142 ; IAS-NEXT: R_386_32 |
| 143 ; IAS: call | 143 ; IAS: call |
| 144 | 144 |
| 145 ; SYMTAB-DAG: 00000018 {{.*}} .data {{.*}} ArrayInitPartial | 145 ; SYMTAB-DAG: 00000018 {{.*}} .data {{.*}} ArrayInitPartial |
| 146 ; IAS: mov {{.*}}, 24 | 146 ; IAS: mov {{.*}}, .data |
| 147 ; IAS-NEXT: R_386_32 | 147 ; IAS-NEXT: R_386_32 |
| 148 ; IAS: call | 148 ; IAS: call |
| 149 | 149 |
| 150 ; SYMTAB-DAG: 00000008 {{.*}} .bss {{.*}} ArrayUninit | 150 ; SYMTAB-DAG: 00000008 {{.*}} .bss {{.*}} ArrayUninit |
| 151 ; IAS: mov {{.*}}, 8 | 151 ; IAS: mov {{.*}}, .bss |
| 152 ; IAS-NEXT: R_386_32 | 152 ; IAS-NEXT: R_386_32 |
| 153 ; IAS: call | 153 ; IAS: call |
| 154 | 154 |
| 155 | 155 |
| 156 declare void @use(i32) | 156 declare void @use(i32) |
| 157 | 157 |
| 158 define internal i32 @nacl_tp_tdb_offset(i32 %__0) { | 158 define internal i32 @nacl_tp_tdb_offset(i32 %__0) { |
| 159 entry: | 159 entry: |
| 160 ret i32 0 | 160 ret i32 0 |
| 161 } | 161 } |
| 162 | 162 |
| 163 define internal i32 @nacl_tp_tls_offset(i32 %size) { | 163 define internal i32 @nacl_tp_tls_offset(i32 %size) { |
| 164 entry: | 164 entry: |
| 165 %result = sub i32 0, %size | 165 %result = sub i32 0, %size |
| 166 ret i32 %result | 166 ret i32 %result |
| 167 } | 167 } |
| OLD | NEW |