diff --git a/test/Regression/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll b/test/Regression/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll index ee8a36bfd33..62b1229c884 100644 --- a/test/Regression/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll +++ b/test/Regression/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll @@ -6,12 +6,13 @@ ; ; RUN: as < %s | opt -instcombine ; - %.LC0 = internal global [21 x sbyte] c"hbMakeCodeLengths(1)\00" ; <[21 x sbyte]*> [#uses=1] %.LC1 = internal global [21 x sbyte] c"hbMakeCodeLengths(2)\00" ; <[21 x sbyte]*> [#uses=1] -void "hbMakeCodeLengths"(ubyte* %len, int* %freq, int %alphaSize, int %maxLen) { +implementation ; Functions: + +void %hbMakeCodeLengths(ubyte* %len, int* %freq, int %alphaSize, int %maxLen) { bb0: ;[#uses=0] %len = alloca ubyte* ; [#uses=2] store ubyte* %len, ubyte** %len @@ -38,9 +39,10 @@ bb2: ;[#uses=2] %reg591 = phi int [ %reg594, %bb5 ], [ 0, %bb1 ] ; [#uses=3] %reg591-idxcast1 = cast int %reg591 to uint ; [#uses=1] %reg591-idxcast1-offset = add uint %reg591-idxcast1, 1 ; [#uses=1] - %reg126 = getelementptr int* %weight, uint %reg591-idxcast1-offset ; [#uses=1] - %reg591-idxcast = cast int %reg591 to uint ; [#uses=1] - %reg132 = getelementptr int* %reg108, uint %reg591-idxcast ; [#uses=1] + %reg591-idxcast1-offset = cast uint %reg591-idxcast1-offset to long ; [#uses=1] + %reg126 = getelementptr int* %weight, long %reg591-idxcast1-offset ; [#uses=1] + %reg591-idxcast = cast int %reg591 to long ; [#uses=1] + %reg132 = getelementptr int* %reg108, long %reg591-idxcast ; [#uses=1] %reg133 = load int* %reg132 ; [#uses=2] %cond748 = seteq int %reg133, 0 ; [#uses=1] br bool %cond748, label %bb4, label %bb3 @@ -71,16 +73,19 @@ bb7: ;[#uses=3] %reg597-casted = cast uint %reg597 to int ; [#uses=1] %reg596 = add int %reg597-casted, 1 ; [#uses=3] %reg597-offset = add uint %reg597, 1 ; [#uses=1] - %reg149 = getelementptr int* %parent, uint %reg597-offset ; [#uses=1] + %reg597-offset = cast uint %reg597-offset to long ; [#uses=1] + %reg149 = getelementptr int* %parent, long %reg597-offset ; [#uses=1] store int -1, int* %reg149 %reg598 = add uint %reg597, 1 ; [#uses=3] %reg597-offset1 = add uint %reg597, 1 ; [#uses=1] - %reg157 = getelementptr int* %heap, uint %reg597-offset1 ; [#uses=1] + %reg597-offset1 = cast uint %reg597-offset1 to long ; [#uses=1] + %reg157 = getelementptr int* %heap, long %reg597-offset1 ; [#uses=1] store int %reg596, int* %reg157 br label %bb9 bb8: ;[#uses=2] - %reg198 = getelementptr int* %heap, uint %reg599 ; [#uses=1] + %reg599 = cast uint %reg599 to long ; [#uses=1] + %reg198 = getelementptr int* %heap, long %reg599 ; [#uses=1] store int %reg182, int* %reg198 %cast938 = cast int %reg174 to uint ; [#uses=1] br label %bb9 @@ -89,20 +94,24 @@ bb9: ;[#uses=2] %reg599 = phi uint [ %cast938, %bb8 ], [ %reg598, %bb7 ] ; [#uses=3] %cast807 = cast uint %reg599 to int ; [#uses=1] %reg597-offset2 = add uint %reg597, 1 ; [#uses=1] - %reg173 = getelementptr int* %weight, uint %reg597-offset2 ; [#uses=1] + %reg597-offset2 = cast uint %reg597-offset2 to long ; [#uses=1] + %reg173 = getelementptr int* %weight, long %reg597-offset2 ; [#uses=1] %reg174 = shr int %cast807, ubyte 1 ; [#uses=2] %reg174-idxcast = cast int %reg174 to uint ; [#uses=1] - %reg181 = getelementptr int* %heap, uint %reg174-idxcast ; [#uses=1] + cast uint %reg174-idxcast to long ; :0 [#uses=1] + %reg181 = getelementptr int* %heap, long %0 ; [#uses=1] %reg182 = load int* %reg181 ; [#uses=2] %reg182-idxcast = cast int %reg182 to uint ; [#uses=1] - %reg189 = getelementptr int* %weight, uint %reg182-idxcast ; [#uses=1] + cast uint %reg182-idxcast to long ; :1 [#uses=1] + %reg189 = getelementptr int* %weight, long %1 ; [#uses=1] %reg190 = load int* %reg173 ; [#uses=1] %reg191 = load int* %reg189 ; [#uses=1] %cond751 = setlt int %reg190, %reg191 ; [#uses=1] br bool %cond751, label %bb8, label %bb10 bb10: ;[#uses=3] - %reg214 = getelementptr int* %heap, uint %reg599 ; [#uses=1] + cast uint %reg599 to long ; :2 [#uses=1] + %reg214 = getelementptr int* %heap, long %2 ; [#uses=1] store int %reg596, int* %reg214 %reg601 = add int %reg596, 1 ; [#uses=1] %cond752 = setle int %reg601, %reg109 ; [#uses=1] @@ -116,7 +125,9 @@ bb11: ;[#uses=2] br bool %cond753, label %bb13, label %bb12 bb12: ;[#uses=1] - %cast784 = getelementptr [21 x sbyte]* %.LC0, uint 0, uint 0 ; [#uses=1] + cast uint 0 to long ; :3 [#uses=1] + cast uint 0 to long ; :4 [#uses=1] + %cast784 = getelementptr [21 x sbyte]* %.LC0, long %3, long %4 ; [#uses=1] call void %panic( sbyte* %cast784 ) br label %bb13 @@ -134,15 +145,19 @@ bb14: ;[#uses=5] %reg603 = add int %reg603-scale, %cast940 ; [#uses=4] %reg604 = add uint %cann-indvar1, %cast942 ; [#uses=4] %add1-indvar1 = add uint %cann-indvar1, 1 ; [#uses=1] - %reg7551 = getelementptr int* %heap, uint 1 ; [#uses=1] + cast uint 1 to long ; :5 [#uses=1] + %reg7551 = getelementptr int* %heap, long %5 ; [#uses=1] %reg113 = load int* %reg7551 ; [#uses=2] %reg603-idxcast = cast int %reg603 to uint ; [#uses=1] - %reg222 = getelementptr int* %heap, uint %reg603-idxcast ; [#uses=1] + cast uint %reg603-idxcast to long ; :6 [#uses=1] + %reg222 = getelementptr int* %heap, long %6 ; [#uses=1] %reg223 = load int* %reg222 ; [#uses=1] - %reg7561 = getelementptr int* %heap, uint 1 ; [#uses=1] + cast uint 1 to long ; :7 [#uses=1] + %reg7561 = getelementptr int* %heap, long %7 ; [#uses=1] store int %reg223, int* %reg7561 %reg605 = add int %reg603, -1 ; [#uses=4] - %reg757 = getelementptr int* %heap, uint 1 ; [#uses=1] + cast uint 1 to long ; :8 [#uses=1] + %reg757 = getelementptr int* %heap, long %8 ; [#uses=1] %reg226 = load int* %reg757 ; [#uses=2] %cond758 = setgt int 2, %reg605 ; [#uses=1] br bool %cond758, label %bb20, label %bb15 @@ -156,15 +171,19 @@ bb15: ;[#uses=3] bb16: ;[#uses=2] %reg606-idxcast = cast int %reg606 to uint ; [#uses=1] %reg606-idxcast-offset = add uint %reg606-idxcast, 1 ; [#uses=1] - %reg241 = getelementptr int* %heap, uint %reg606-idxcast-offset ; [#uses=1] + cast uint %reg606-idxcast-offset to long ; :9 [#uses=1] + %reg241 = getelementptr int* %heap, long %9 ; [#uses=1] %reg242 = load int* %reg241 ; [#uses=1] %reg242-idxcast = cast int %reg242 to uint ; [#uses=1] - %reg249 = getelementptr int* %weight, uint %reg242-idxcast ; [#uses=1] + cast uint %reg242-idxcast to long ; :10 [#uses=1] + %reg249 = getelementptr int* %weight, long %10 ; [#uses=1] %reg606-idxcast1 = cast int %reg606 to uint ; [#uses=1] - %reg256 = getelementptr int* %heap, uint %reg606-idxcast1 ; [#uses=1] + cast uint %reg606-idxcast1 to long ; :11 [#uses=1] + %reg256 = getelementptr int* %heap, long %11 ; [#uses=1] %reg257 = load int* %reg256 ; [#uses=1] %reg257-idxcast = cast int %reg257 to uint ; [#uses=1] - %reg264 = getelementptr int* %weight, uint %reg257-idxcast ; [#uses=1] + cast uint %reg257-idxcast to long ; :12 [#uses=1] + %reg264 = getelementptr int* %weight, long %12 ; [#uses=1] %reg265 = load int* %reg249 ; [#uses=1] %reg266 = load int* %reg264 ; [#uses=1] %cond760 = setge int %reg265, %reg266 ; [#uses=1] @@ -177,12 +196,15 @@ bb17: ;[#uses=2] bb18: ;[#uses=4] %reg609 = phi int [ %reg608, %bb17 ], [ %reg606, %bb16 ], [ %reg606, %bb15 ] ; [#uses=4] %reg226-idxcast = cast int %reg226 to uint ; [#uses=1] - %reg273 = getelementptr int* %weight, uint %reg226-idxcast ; [#uses=1] + cast uint %reg226-idxcast to long ; :13 [#uses=1] + %reg273 = getelementptr int* %weight, long %13 ; [#uses=1] %reg609-idxcast = cast int %reg609 to uint ; [#uses=1] - %reg280 = getelementptr int* %heap, uint %reg609-idxcast ; [#uses=1] + cast uint %reg609-idxcast to long ; :14 [#uses=1] + %reg280 = getelementptr int* %heap, long %14 ; [#uses=1] %reg281 = load int* %reg280 ; [#uses=2] %reg281-idxcast = cast int %reg281 to uint ; [#uses=1] - %reg288 = getelementptr int* %weight, uint %reg281-idxcast ; [#uses=1] + cast uint %reg281-idxcast to long ; :15 [#uses=1] + %reg288 = getelementptr int* %weight, long %15 ; [#uses=1] %reg289 = load int* %reg273 ; [#uses=1] %reg290 = load int* %reg288 ; [#uses=1] %cond761 = setlt int %reg289, %reg290 ; [#uses=1] @@ -190,7 +212,8 @@ bb18: ;[#uses=4] bb19: ;[#uses=4] %reg607-idxcast = cast int %reg607 to uint ; [#uses=1] - %reg297 = getelementptr int* %heap, uint %reg607-idxcast ; [#uses=1] + cast uint %reg607-idxcast to long ; :16 [#uses=1] + %reg297 = getelementptr int* %heap, long %16 ; [#uses=1] store int %reg281, int* %reg297 %reg611 = shl int %reg609, ubyte 1 ; [#uses=2] %cond762 = setle int %reg611, %reg605 ; [#uses=1] @@ -199,18 +222,23 @@ bb19: ;[#uses=4] bb20: ;[#uses=6] %reg612 = phi int [ %reg609, %bb19 ], [ %reg607, %bb18 ], [ 1, %bb14 ] ; [#uses=1] %reg612-idxcast = cast int %reg612 to uint ; [#uses=1] - %reg312 = getelementptr int* %heap, uint %reg612-idxcast ; [#uses=1] + cast uint %reg612-idxcast to long ; :17 [#uses=1] + %reg312 = getelementptr int* %heap, long %17 ; [#uses=1] store int %reg226, int* %reg312 - %reg7631 = getelementptr int* %heap, uint 1 ; [#uses=1] + cast uint 1 to long ; :18 [#uses=1] + %reg7631 = getelementptr int* %heap, long %18 ; [#uses=1] %reg114 = load int* %reg7631 ; [#uses=2] %reg603-idxcast1 = cast int %reg603 to uint ; [#uses=1] %reg603-idxcast1-offset = add uint %reg603-idxcast1, 1073741823 ; [#uses=1] - %reg319 = getelementptr int* %heap, uint %reg603-idxcast1-offset ; [#uses=1] + cast uint %reg603-idxcast1-offset to long ; :19 [#uses=1] + %reg319 = getelementptr int* %heap, long %19 ; [#uses=1] %reg320 = load int* %reg319 ; [#uses=1] - %reg7641 = getelementptr int* %heap, uint 1 ; [#uses=1] + cast uint 1 to long ; :20 [#uses=1] + %reg7641 = getelementptr int* %heap, long %20 ; [#uses=1] store int %reg320, int* %reg7641 %reg613 = add int %reg605, -1 ; [#uses=4] - %reg765 = getelementptr int* %heap, uint 1 ; [#uses=1] + cast uint 1 to long ; :21 [#uses=1] + %reg765 = getelementptr int* %heap, long %21 ; [#uses=1] %reg323 = load int* %reg765 ; [#uses=2] %cond766 = setgt int 2, %reg613 ; [#uses=1] br bool %cond766, label %bb26, label %bb21 @@ -224,15 +252,19 @@ bb21: ;[#uses=3] bb22: ;[#uses=2] %reg614-idxcast = cast int %reg614 to uint ; [#uses=1] %reg614-idxcast-offset = add uint %reg614-idxcast, 1 ; [#uses=1] - %reg338 = getelementptr int* %heap, uint %reg614-idxcast-offset ; [#uses=1] + cast uint %reg614-idxcast-offset to long ; :22 [#uses=1] + %reg338 = getelementptr int* %heap, long %22 ; [#uses=1] %reg339 = load int* %reg338 ; [#uses=1] %reg339-idxcast = cast int %reg339 to uint ; [#uses=1] - %reg346 = getelementptr int* %weight, uint %reg339-idxcast ; [#uses=1] + cast uint %reg339-idxcast to long ; :23 [#uses=1] + %reg346 = getelementptr int* %weight, long %23 ; [#uses=1] %reg614-idxcast1 = cast int %reg614 to uint ; [#uses=1] - %reg353 = getelementptr int* %heap, uint %reg614-idxcast1 ; [#uses=1] + cast uint %reg614-idxcast1 to long ; :24 [#uses=1] + %reg353 = getelementptr int* %heap, long %24 ; [#uses=1] %reg354 = load int* %reg353 ; [#uses=1] %reg354-idxcast = cast int %reg354 to uint ; [#uses=1] - %reg361 = getelementptr int* %weight, uint %reg354-idxcast ; [#uses=1] + cast uint %reg354-idxcast to long ; :25 [#uses=1] + %reg361 = getelementptr int* %weight, long %25 ; [#uses=1] %reg362 = load int* %reg346 ; [#uses=1] %reg363 = load int* %reg361 ; [#uses=1] %cond768 = setge int %reg362, %reg363 ; [#uses=1] @@ -245,12 +277,15 @@ bb23: ;[#uses=2] bb24: ;[#uses=4] %reg617 = phi int [ %reg616, %bb23 ], [ %reg614, %bb22 ], [ %reg614, %bb21 ] ; [#uses=4] %reg323-idxcast = cast int %reg323 to uint ; [#uses=1] - %reg370 = getelementptr int* %weight, uint %reg323-idxcast ; [#uses=1] + cast uint %reg323-idxcast to long ; :26 [#uses=1] + %reg370 = getelementptr int* %weight, long %26 ; [#uses=1] %reg617-idxcast = cast int %reg617 to uint ; [#uses=1] - %reg377 = getelementptr int* %heap, uint %reg617-idxcast ; [#uses=1] + cast uint %reg617-idxcast to long ; :27 [#uses=1] + %reg377 = getelementptr int* %heap, long %27 ; [#uses=1] %reg378 = load int* %reg377 ; [#uses=2] %reg378-idxcast = cast int %reg378 to uint ; [#uses=1] - %reg385 = getelementptr int* %weight, uint %reg378-idxcast ; [#uses=1] + cast uint %reg378-idxcast to long ; :28 [#uses=1] + %reg385 = getelementptr int* %weight, long %28 ; [#uses=1] %reg386 = load int* %reg370 ; [#uses=1] %reg387 = load int* %reg385 ; [#uses=1] %cond769 = setlt int %reg386, %reg387 ; [#uses=1] @@ -258,7 +293,8 @@ bb24: ;[#uses=4] bb25: ;[#uses=4] %reg615-idxcast = cast int %reg615 to uint ; [#uses=1] - %reg394 = getelementptr int* %heap, uint %reg615-idxcast ; [#uses=1] + cast uint %reg615-idxcast to long ; :29 [#uses=1] + %reg394 = getelementptr int* %heap, long %29 ; [#uses=1] store int %reg378, int* %reg394 %reg619 = shl int %reg617, ubyte 1 ; [#uses=2] %cond770 = setle int %reg619, %reg613 ; [#uses=1] @@ -267,25 +303,31 @@ bb25: ;[#uses=4] bb26: ;[#uses=4] %reg620 = phi int [ %reg617, %bb25 ], [ %reg615, %bb24 ], [ 1, %bb20 ] ; [#uses=1] %reg620-idxcast = cast int %reg620 to uint ; [#uses=1] - %reg409 = getelementptr int* %heap, uint %reg620-idxcast ; [#uses=1] + cast uint %reg620-idxcast to long ; :30 [#uses=1] + %reg409 = getelementptr int* %heap, long %30 ; [#uses=1] store int %reg323, int* %reg409 %reg621 = add uint %reg604, 1 ; [#uses=5] %reg113-idxcast = cast int %reg113 to uint ; [#uses=1] - %reg416 = getelementptr int* %parent, uint %reg113-idxcast ; [#uses=1] + cast uint %reg113-idxcast to long ; :31 [#uses=1] + %reg416 = getelementptr int* %parent, long %31 ; [#uses=1] %reg114-idxcast = cast int %reg114 to uint ; [#uses=1] - %reg423 = getelementptr int* %parent, uint %reg114-idxcast ; [#uses=1] + cast uint %reg114-idxcast to long ; :32 [#uses=1] + %reg423 = getelementptr int* %parent, long %32 ; [#uses=1] %cast889 = cast uint %reg621 to int ; [#uses=1] store int %cast889, int* %reg423 %cast890 = cast uint %reg621 to int ; [#uses=1] store int %cast890, int* %reg416 %reg604-offset = add uint %reg604, 1 ; [#uses=1] - %reg431 = getelementptr int* %weight, uint %reg604-offset ; [#uses=1] + cast uint %reg604-offset to long ; :33 [#uses=1] + %reg431 = getelementptr int* %weight, long %33 ; [#uses=1] %reg113-idxcast2 = cast int %reg113 to uint ; [#uses=1] - %reg4381 = getelementptr int* %weight, uint %reg113-idxcast2 ; [#uses=1] + cast uint %reg113-idxcast2 to long ; :34 [#uses=1] + %reg4381 = getelementptr int* %weight, long %34 ; [#uses=1] %reg439 = load int* %reg4381 ; [#uses=2] %reg440 = and int %reg439, -256 ; [#uses=1] %reg114-idxcast2 = cast int %reg114 to uint ; [#uses=1] - %reg4471 = getelementptr int* %weight, uint %reg114-idxcast2 ; [#uses=1] + cast uint %reg114-idxcast2 to long ; :35 [#uses=1] + %reg4471 = getelementptr int* %weight, long %35 ; [#uses=1] %reg448 = load int* %reg4471 ; [#uses=2] %reg449 = and int %reg448, -256 ; [#uses=1] %reg450 = add int %reg440, %reg449 ; [#uses=1] @@ -303,32 +345,38 @@ bb28: ;[#uses=3] %reg470 = or int %reg450, %reg469 ; [#uses=1] store int %reg470, int* %reg431 %reg604-offset1 = add uint %reg604, 1 ; [#uses=1] - %reg4771 = getelementptr int* %parent, uint %reg604-offset1 ; [#uses=1] + cast uint %reg604-offset1 to long ; :36 [#uses=1] + %reg4771 = getelementptr int* %parent, long %36 ; [#uses=1] store int -1, int* %reg4771 %reg624 = add int %reg613, 1 ; [#uses=2] %reg603-idxcast2 = cast int %reg603 to uint ; [#uses=1] %reg603-idxcast2-offset = add uint %reg603-idxcast2, 1073741823 ; [#uses=1] - %reg485 = getelementptr int* %heap, uint %reg603-idxcast2-offset ; [#uses=1] + cast uint %reg603-idxcast2-offset to long ; :37 [#uses=1] + %reg485 = getelementptr int* %heap, long %37 ; [#uses=1] %cast902 = cast uint %reg621 to int ; [#uses=1] store int %cast902, int* %reg485 br label %bb30 bb29: ;[#uses=2] %reg625-idxcast = cast int %reg625 to uint ; [#uses=1] - %reg526 = getelementptr int* %heap, uint %reg625-idxcast ; [#uses=1] + cast uint %reg625-idxcast to long ; :38 [#uses=1] + %reg526 = getelementptr int* %heap, long %38 ; [#uses=1] store int %reg510, int* %reg526 br label %bb30 bb30: ;[#uses=2] %reg625 = phi int [ %reg502, %bb29 ], [ %reg624, %bb28 ] ; [#uses=3] %reg604-offset2 = add uint %reg604, 1 ; [#uses=1] - %reg501 = getelementptr int* %weight, uint %reg604-offset2 ; [#uses=1] + cast uint %reg604-offset2 to long ; :39 [#uses=1] + %reg501 = getelementptr int* %weight, long %39 ; [#uses=1] %reg502 = shr int %reg625, ubyte 1 ; [#uses=2] %reg502-idxcast = cast int %reg502 to uint ; [#uses=1] - %reg509 = getelementptr int* %heap, uint %reg502-idxcast ; [#uses=1] + cast uint %reg502-idxcast to long ; :40 [#uses=1] + %reg509 = getelementptr int* %heap, long %40 ; [#uses=1] %reg510 = load int* %reg509 ; [#uses=2] %reg510-idxcast = cast int %reg510 to uint ; [#uses=1] - %reg517 = getelementptr int* %weight, uint %reg510-idxcast ; [#uses=1] + cast uint %reg510-idxcast to long ; :41 [#uses=1] + %reg517 = getelementptr int* %weight, long %41 ; [#uses=1] %reg518 = load int* %reg501 ; [#uses=1] %reg519 = load int* %reg517 ; [#uses=1] %cond772 = setlt int %reg518, %reg519 ; [#uses=1] @@ -336,7 +384,8 @@ bb30: ;[#uses=2] bb31: ;[#uses=3] %reg625-idxcast1 = cast int %reg625 to uint ; [#uses=1] - %reg542 = getelementptr int* %heap, uint %reg625-idxcast1 ; [#uses=1] + cast uint %reg625-idxcast1 to long ; :42 [#uses=1] + %reg542 = getelementptr int* %heap, long %42 ; [#uses=1] %cast916 = cast uint %reg621 to int ; [#uses=1] store int %cast916, int* %reg542 %cond773 = setgt int %reg624, 1 ; [#uses=1] @@ -349,7 +398,9 @@ bb32: ;[#uses=2] br bool %cond774, label %bb34, label %bb33 bb33: ;[#uses=1] - %cast785 = getelementptr [21 x sbyte]* %.LC1, uint 0, uint 0 ; [#uses=1] + cast uint 0 to long ; :43 [#uses=1] + cast uint 0 to long ; :44 [#uses=1] + %cast785 = getelementptr [21 x sbyte]* %.LC1, long %43, long %44 ; [#uses=1] call void %panic( sbyte* %cast785 ) br label %bb34 @@ -364,7 +415,8 @@ bb35: ;[#uses=5] %reg630 = add int %cann-indvar-casted, 1 ; [#uses=2] %add1-indvar = add uint %cann-indvar, 1 ; [#uses=1] %cann-indvar-offset1 = add uint %cann-indvar, 1 ; [#uses=1] - %reg589 = getelementptr int* %parent, uint %cann-indvar-offset1 ; [#uses=1] + cast uint %cann-indvar-offset1 to long ; :45 [#uses=1] + %reg589 = getelementptr int* %parent, long %45 ; [#uses=1] %reg590 = load int* %reg589 ; [#uses=1] %cond776 = setlt int %reg590, 0 ; [#uses=1] %parent-idxcast = cast int* %parent to uint ; [#uses=1] @@ -373,18 +425,21 @@ bb35: ;[#uses=5] bb36: ;[#uses=5] %reg632 = phi uint [ %reg634, %bb36 ], [ %cast948, %bb35 ] ; [#uses=1] - %reg633 = phi uint [ %reg635, %bb36 ], [ 0, %bb35 ] ; [#uses=2] - %reg633-casted = cast uint %reg633 to sbyte* ; [#uses=1] - %reg631-scale = mul uint %reg633, 0 ; [#uses=1] - %reg631-scale = cast uint %reg631-scale to sbyte* - %reg6311 = getelementptr sbyte* %reg631-scale, uint %parent-idxcast ; [#uses=2] + %reg633 = phi uint [ %reg635, %bb36 ], [ 0, %bb35 ] ; [#uses=3] + %reg633-casted = cast uint %reg633 to sbyte* ; [#uses=0] + %reg631-scale = mul uint %reg633, 0 ; [#uses=1] + %reg631-scale = cast uint %reg631-scale to sbyte* ; [#uses=1] + cast uint %parent-idxcast to long ; :46 [#uses=1] + %reg6311 = getelementptr sbyte* %reg631-scale, long %46 ; [#uses=2] %reg632-scale = mul uint %reg632, 4 ; [#uses=1] - %reg5581 = getelementptr sbyte* %reg6311, uint %reg632-scale ; [#uses=1] + cast uint %reg632-scale to long ; :47 [#uses=1] + %reg5581 = getelementptr sbyte* %reg6311, long %47 ; [#uses=1] %cast924 = cast sbyte* %reg5581 to uint* ; [#uses=1] %reg634 = load uint* %cast924 ; [#uses=2] %reg635 = add uint %reg633, 1 ; [#uses=2] %reg634-scale = mul uint %reg634, 4 ; [#uses=1] - %reg5501 = getelementptr sbyte* %reg6311, uint %reg634-scale ; [#uses=1] + cast uint %reg634-scale to long ; :48 [#uses=1] + %reg5501 = getelementptr sbyte* %reg6311, long %48 ; [#uses=1] %cast925 = cast sbyte* %reg5501 to int* ; [#uses=1] %reg551 = load int* %cast925 ; [#uses=1] %cond777 = setge int %reg551, 0 ; [#uses=1] @@ -394,8 +449,10 @@ bb37: ;[#uses=3] %reg637 = phi uint [ %reg635, %bb36 ], [ 0, %bb35 ] ; [#uses=2] %cast928 = cast uint %reg637 to int ; [#uses=1] %cann-indvar-offset = add uint %cann-indvar, 1 ; [#uses=1] - %reg561 = getelementptr ubyte* %reg107, uint %cann-indvar-offset ; [#uses=1] - %reg778 = getelementptr ubyte* %reg561, uint 4294967295 ; [#uses=1] + cast uint %cann-indvar-offset to long ; :49 [#uses=1] + %reg561 = getelementptr ubyte* %reg107, long %49 ; [#uses=1] + cast uint 4294967295 to long ; :50 [#uses=1] + %reg778 = getelementptr ubyte* %reg561, long %50 ; [#uses=1] %cast788 = cast uint %reg637 to ubyte ; [#uses=1] store ubyte %cast788, ubyte* %reg778 %cond779 = setle int %cast928, %reg110 ; [#uses=1] @@ -425,7 +482,8 @@ bb42: ;[#uses=3] %add1-indvar2 = add int %cann-indvar2, 1 ; [#uses=1] %cann-indvar2-idxcast = cast int %cann-indvar2 to uint ; [#uses=1] %cann-indvar2-idxcast-offset = add uint %cann-indvar2-idxcast, 1 ; [#uses=1] - %reg569 = getelementptr int* %weight, uint %cann-indvar2-idxcast-offset ; [#uses=2] + cast uint %cann-indvar2-idxcast-offset to long ; :51 [#uses=1] + %reg569 = getelementptr int* %weight, long %51 ; [#uses=2] %reg570 = load int* %reg569 ; [#uses=2] %reg644 = shr int %reg570, ubyte 8 ; [#uses=1] %reg572 = shr int %reg570, ubyte 31 ; [#uses=1] @@ -448,4 +506,4 @@ bb44: ;[#uses=1] ret void } -declare void "panic"(sbyte*) +declare void %panic(sbyte*)