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

Side by Side Diff: test/CodeGen/JS/aliases.ll

Issue 1151093004: Changes from 3.7 merge to files not in upstream (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-llvm.git@master
Patch Set: Created 5 years, 7 months 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 ; RUN: llc < %s | FileCheck %s 1 ; RUN: llc < %s | FileCheck %s
2 2
3 target datalayout = "e-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64 :64:64-p:32:32:32-v128:32:128-n32-S128" 3 target datalayout = "e-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64 :64:64-p:32:32:32-v128:32:128-n32-S128"
4 target triple = "asmjs-unknown-emscripten" 4 target triple = "asmjs-unknown-emscripten"
5 5
6 @.str = private unnamed_addr constant [18 x i8] c"hello, world! %d\0A\00", align 1 ; [#uses=1 type=[18 x i8]*] 6 @.str = private unnamed_addr constant [18 x i8] c"hello, world! %d\0A\00", align 1 ; [#uses=1 type=[18 x i8]*]
7 7
8 @othername = internal alias void (i32)* @doit 8 @othername = internal alias void (i32)* @doit
9 @othername2 = internal alias void (i32)* @othername 9 @othername2 = internal alias void (i32)* @othername
10 @othername3 = internal alias void (i32)* @othername2 10 @othername3 = internal alias void (i32)* @othername2
11 @othername4 = internal alias bitcast (void (i32)* @othername2 to void ()*) 11 @othername4 = internal alias bitcast (void (i32)* @othername2 to void ()*)
12 12
13 @list = global i32 ptrtoint (void ()* @othername4 to i32) 13 @list = global i32 ptrtoint (void ()* @othername4 to i32)
14 @list2 = global <{ i32, i32, i32, i32, i32 }> <{ i32 ptrtoint (void (i32)* @doit to i32), i32 ptrtoint (void (i32)* @othername to i32), i32 ptrtoint (void (i32) * @othername2 to i32), i32 ptrtoint (void (i32)* @othername3 to i32), i32 ptrtoi nt (void ()* @othername4 to i32) }> 14 @list2 = global <{ i32, i32, i32, i32, i32 }> <{ i32 ptrtoint (void (i32)* @doit to i32), i32 ptrtoint (void (i32)* @othername to i32), i32 ptrtoint (void (i32) * @othername2 to i32), i32 ptrtoint (void (i32)* @othername3 to i32), i32 ptrtoi nt (void ()* @othername4 to i32) }>
15 15
16 16
17 @value = global i32 17 17 @value = global i32 17
18 @value2 = alias i32* @value 18 @value2 = alias i32* @value
19 @value3 = alias i32* @value 19 @value3 = alias i32* @value
20 20
21 define internal void @doit(i32 %x) { 21 define internal void @doit(i32 %x) {
22 %call = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([18 x i8]* @. str, i32 0, i32 0), i32 %x) ; [#uses=0 type=i32] 22 %call = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str, i32 0, i32 0), i32 %x) ; [#uses=0 type=i32]
23 ret void 23 ret void
24 } 24 }
25 25
26 ;;; we just check for compilation to succeed here, specifically of @list and @li st2 26 ;;; we just check for compilation to succeed here, specifically of @list and @li st2
27 ; CHECK: function _main() { 27 ; CHECK: function _main() {
28 ; CHECK: } 28 ; CHECK: }
29 29
30 define i32 @main() { 30 define i32 @main() {
31 entry: 31 entry:
32 call void ()* @othername4() 32 call void () @othername4()
33 %fp = ptrtoint void ()* @othername4 to i32 33 %fp = ptrtoint void ()* @othername4 to i32
34 %fp1 = add i32 %fp, 0 34 %fp1 = add i32 %fp, 0
35 %pf = inttoptr i32 %fp1 to void (i32)* 35 %pf = inttoptr i32 %fp1 to void (i32)*
36 %x = load i32* @value3 36 %x = load i32, i32* @value3
37 call void (i32)* %pf(i32 %x) 37 call void (i32) %pf(i32 %x)
38 %x1 = load i32* @value2 38 %x1 = load i32, i32* @value2
39 call void (i32)* @othername3(i32 %x1) 39 call void (i32) @othername3(i32 %x1)
40 %x2 = load i32* @value 40 %x2 = load i32, i32* @value
41 call void (i32)* @othername2(i32 %x2) 41 call void (i32) @othername2(i32 %x2)
42 store i32 18, i32* @value 42 store i32 18, i32* @value
43 %x3 = load i32* @value 43 %x3 = load i32, i32* @value
44 call void (i32)* @othername(i32 %x3) 44 call void (i32) @othername(i32 %x3)
45 store i32 19, i32* @value3 45 store i32 19, i32* @value3
46 %x4 = load i32* @value3 46 %x4 = load i32, i32* @value3
47 call void (i32)* @doit(i32 %x4) 47 call void (i32) @doit(i32 %x4)
48 ret i32 1 48 ret i32 1
49 } 49 }
50 50
51 declare i32 @printf(i8*, ...) 51 declare i32 @printf(i8*, ...)
52 52
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698