Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(493)

Side by Side Diff: tests_lit/llvm2ice_tests/ias-multi-reloc.ll

Issue 700263003: Rearrange emit vs emitIAS. Wait till function is done before dumping text. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 ; Tests the integrated assembler for instructions with multiple 1 ; Tests the integrated assembler for instructions with multiple
2 ; relocations. 2 ; relocations.
3 3
4 ; RUN: %p2i -i %s --args -O2 | FileCheck %s 4 ; RUN: %p2i -i %s --args -O2 | FileCheck %s
5 5
6 ; char global_char; 6 ; char global_char;
7 ; char *p_global_char; 7 ; char *p_global_char;
8 ; void dummy(); 8 ; void dummy();
9 ; void store_immediate_to_global() { p_global_char = &global_char; } 9 ; void store_immediate_to_global() { p_global_char = &global_char; }
10 ; void add_in_place() { p_global_char += (int)&global_char; } 10 ; void add_in_place() { p_global_char += (int)&global_char; }
11 ; void cmp_global_immediate() { if (p_global_char == &global_char) dummy(); } 11 ; void cmp_global_immediate() { if (p_global_char == &global_char) dummy(); }
12 12
13 @global_char = internal global [1 x i8] zeroinitializer, align 1 13 @global_char = internal global [1 x i8] zeroinitializer, align 1
14 @p_global_char = internal global [4 x i8] zeroinitializer, align 4 14 @p_global_char = internal global [4 x i8] zeroinitializer, align 4
15 declare void @dummy(i32) 15 declare void @dummy()
16 16
17 define internal void @store_immediate_to_global() { 17 define internal void @store_immediate_to_global() {
18 entry: 18 entry:
19 %p_global_char.bc = bitcast [4 x i8]* @p_global_char to i32* 19 %p_global_char.bc = bitcast [4 x i8]* @p_global_char to i32*
20 %expanded1 = ptrtoint [1 x i8]* @global_char to i32 20 %expanded1 = ptrtoint [1 x i8]* @global_char to i32
21 store i32 %expanded1, i32* %p_global_char.bc, align 1 21 store i32 %expanded1, i32* %p_global_char.bc, align 1
22 ret void 22 ret void
23 } 23 }
24 ; CHECK-LABEL: store_immediate_to_global 24 ; CHECK-LABEL: store_immediate_to_global
25 ; CHECK: .long p_global_char 25 ; CHECK: .long p_global_char
(...skipping 15 matching lines...) Expand all
41 41
42 define internal void @cmp_global_immediate() { 42 define internal void @cmp_global_immediate() {
43 entry: 43 entry:
44 %p_global_char.bc = bitcast [4 x i8]* @p_global_char to i32* 44 %p_global_char.bc = bitcast [4 x i8]* @p_global_char to i32*
45 %0 = load i32* %p_global_char.bc, align 1 45 %0 = load i32* %p_global_char.bc, align 1
46 %expanded1 = ptrtoint [1 x i8]* @global_char to i32 46 %expanded1 = ptrtoint [1 x i8]* @global_char to i32
47 %cmp = icmp eq i32 %0, %expanded1 47 %cmp = icmp eq i32 %0, %expanded1
48 br i1 %cmp, label %if.then, label %if.end 48 br i1 %cmp, label %if.then, label %if.end
49 49
50 if.then: ; preds = %entry 50 if.then: ; preds = %entry
51 %dummy.bc = bitcast void (i32)* @dummy to void ()* 51 tail call void @dummy()
Jim Stichnoth 2014/11/06 00:02:13 FWIW, this construct, plus the curious addition of
jvoung (off chromium) 2014/11/06 00:47:13 Hmm I wonder if it was a C oddness, where dummy()
Jim Stichnoth 2014/11/06 01:18:14 Ah, good point, that's probably it.
52 tail call void %dummy.bc()
53 br label %if.end 52 br label %if.end
54 53
55 if.end: ; preds = %if.then, %entry 54 if.end: ; preds = %if.then, %entry
56 ret void 55 ret void
57 } 56 }
58 ; CHECK-LABEL: cmp_global_immediate 57 ; CHECK-LABEL: cmp_global_immediate
59 ; CHECK: .long p_global_char 58 ; CHECK: .long p_global_char
60 ; CHECK: .long global_char 59 ; CHECK: .long global_char
61 ; CHECK: call dummy 60 ; CHECK: .long dummy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698