OLD | NEW |
1 ; Trivial test of the use of internal versus external global | 1 ; Trivial test of the use of internal versus external global |
2 ; variables. | 2 ; variables. |
3 | 3 |
4 ; TODO(kschimpf) find out why lc2i is needed. | 4 ; TODO(kschimpf) find out why lc2i is needed. |
5 ; RUN: %lc2i -i %s --args --verbose inst | FileCheck %s | 5 ; RUN: %lc2i -i %s --args --verbose inst | FileCheck %s |
6 ; RUN: %lc2i -i %s --args --verbose none | FileCheck --check-prefix=ERRORS %s | 6 ; RUN: %lc2i -i %s --args --verbose none | FileCheck --check-prefix=ERRORS %s |
7 ; RUN: %lc2i -i %s --insts | %szdiff %s | FileCheck --check-prefix=DUMP %s | |
8 | 7 |
9 @intern_global = internal global [4 x i8] c"\00\00\00\0C", align 4 | 8 @intern_global = internal global [4 x i8] c"\00\00\00\0C", align 4 |
10 @extern_global = external global [4 x i8] | 9 @extern_global = external global [4 x i8] |
11 | 10 |
12 define i32 @test_intern_global() { | 11 define i32 @test_intern_global() { |
13 ; CHECK: define i32 @test_intern_global | 12 ; CHECK: define i32 @test_intern_global |
14 entry: | 13 entry: |
15 %__1 = bitcast [4 x i8]* @intern_global to i32* | 14 %__1 = bitcast [4 x i8]* @intern_global to i32* |
16 %v0 = load i32* %__1, align 1 | 15 %v0 = load i32* %__1, align 1 |
17 ret i32 %v0 | 16 ret i32 %v0 |
18 } | 17 } |
19 | 18 |
20 define i32 @test_extern_global() { | 19 define i32 @test_extern_global() { |
21 ; CHECK: define i32 @test_extern_global | 20 ; CHECK: define i32 @test_extern_global |
22 entry: | 21 entry: |
23 %__1 = bitcast [4 x i8]* @extern_global to i32* | 22 %__1 = bitcast [4 x i8]* @extern_global to i32* |
24 %v0 = load i32* %__1, align 1 | 23 %v0 = load i32* %__1, align 1 |
25 ret i32 %v0 | 24 ret i32 %v0 |
26 } | 25 } |
27 | 26 |
28 ; ERRORS-NOT: ICE translation error | 27 ; ERRORS-NOT: ICE translation error |
29 ; DUMP-NOT: SZ | |
OLD | NEW |