diff --git a/test/ExecutionEngine/2002-12-16-ArgTest.ll b/test/ExecutionEngine/2002-12-16-ArgTest.ll new file mode 100644 index 00000000000..077e45abab1 --- /dev/null +++ b/test/ExecutionEngine/2002-12-16-ArgTest.ll @@ -0,0 +1,44 @@ +%.LC0 = internal global [14 x sbyte] c"in getoptions\00" ; <[14 x sbyte]*> [#uses=1] + +implementation ; Functions: + +declare void %__main() + +declare int %puts(sbyte*) + +void %getoptions(int* %argc) { +bb0: ; No predecessors! + ret void +} + +int %main(int %argc, sbyte** %argv) { +bb0: ; No predecessors! + %cast224 = cast sbyte** %argv to sbyte* ; [#uses=1] + %local = alloca sbyte* ; [#uses=3] + store sbyte* %cast224, sbyte** %local + call void %__main( ) + %cond226 = setle int %argc, 0 ; [#uses=1] + br bool %cond226, label %bb3, label %bb2 + +bb2: ; preds = %bb2, %bb0 + %cann-indvar = phi int [ 0, %bb0 ], [ %add1-indvar, %bb2 ] ; [#uses=2] + %add1-indvar = add int %cann-indvar, 1 ; [#uses=2] + %cann-indvar-idxcast = cast int %cann-indvar to long ; [#uses=1] + ;%reg115 = load sbyte** %local ; [#uses=1] + ;%cann-indvar-idxcast-scale = mul long %cann-indvar-idxcast, 8 ; [#uses=1] + ;%reg232 = getelementptr sbyte* %reg115, long %cann-indvar-idxcast-scale ; [#uses=1] + ;%cast235 = cast sbyte* %reg232 to sbyte** ; [#uses=1] + %CT = cast sbyte** %local to sbyte*** + %reg115 = load sbyte*** %CT + %cast235 = getelementptr sbyte** %reg115, long %cann-indvar-idxcast + + %reg117 = load sbyte** %cast235 ; [#uses=1] + %reg236 = call int %puts( sbyte* %reg117 ) ; [#uses=0] + %cond239 = setlt int %add1-indvar, %argc ; [#uses=1] + br bool %cond239, label %bb2, label %bb3 + +bb3: ; preds = %bb2, %bb0 + %cast243 = cast sbyte** %local to int* ; [#uses=1] + call void %getoptions( int* %cast243 ) + ret int 0 +}