blob: 79f093e1506b65753b8b87094af4bb9ae5817e56 [file] [log] [blame]
Tanya Lattnere9789ef2004-11-06 23:32:43 +00001; RUN: llvm-as -f %s -o %t.bc
2; RUN: lli %t.bc > /dev/null
3
Chris Lattner83702d32002-12-18 02:07:21 +00004%.LC0 = internal global [10 x sbyte] c"argc: %d\0A\00"
Chris Lattner1ada0642002-12-16 20:09:54 +00005
6implementation ; Functions:
7
Chris Lattner1ada0642002-12-16 20:09:54 +00008declare int %puts(sbyte*)
9
10void %getoptions(int* %argc) {
11bb0: ; No predecessors!
12 ret void
13}
14
Chris Lattner83702d32002-12-18 02:07:21 +000015declare int %printf(sbyte*, ...)
16
Chris Lattner1ada0642002-12-16 20:09:54 +000017int %main(int %argc, sbyte** %argv) {
18bb0: ; No predecessors!
Chris Lattner83702d32002-12-18 02:07:21 +000019 call int (sbyte*, ...)* %printf( sbyte* getelementptr ([10 x sbyte]* %.LC0, long 0, long 0), int %argc)
Chris Lattner1ada0642002-12-16 20:09:54 +000020 %cast224 = cast sbyte** %argv to sbyte* ; <sbyte*> [#uses=1]
21 %local = alloca sbyte* ; <sbyte**> [#uses=3]
22 store sbyte* %cast224, sbyte** %local
Chris Lattner1ada0642002-12-16 20:09:54 +000023 %cond226 = setle int %argc, 0 ; <bool> [#uses=1]
24 br bool %cond226, label %bb3, label %bb2
25
26bb2: ; preds = %bb2, %bb0
27 %cann-indvar = phi int [ 0, %bb0 ], [ %add1-indvar, %bb2 ] ; <int> [#uses=2]
28 %add1-indvar = add int %cann-indvar, 1 ; <int> [#uses=2]
29 %cann-indvar-idxcast = cast int %cann-indvar to long ; <long> [#uses=1]
30 ;%reg115 = load sbyte** %local ; <sbyte*> [#uses=1]
31 ;%cann-indvar-idxcast-scale = mul long %cann-indvar-idxcast, 8 ; <long> [#uses=1]
32 ;%reg232 = getelementptr sbyte* %reg115, long %cann-indvar-idxcast-scale ; <sbyte*> [#uses=1]
33 ;%cast235 = cast sbyte* %reg232 to sbyte** ; <sbyte**> [#uses=1]
34 %CT = cast sbyte** %local to sbyte***
35 %reg115 = load sbyte*** %CT
36 %cast235 = getelementptr sbyte** %reg115, long %cann-indvar-idxcast
37
38 %reg117 = load sbyte** %cast235 ; <sbyte*> [#uses=1]
39 %reg236 = call int %puts( sbyte* %reg117 ) ; <int> [#uses=0]
40 %cond239 = setlt int %add1-indvar, %argc ; <bool> [#uses=1]
41 br bool %cond239, label %bb2, label %bb3
42
43bb3: ; preds = %bb2, %bb0
44 %cast243 = cast sbyte** %local to int* ; <int*> [#uses=1]
45 call void %getoptions( int* %cast243 )
46 ret int 0
47}