@@ -221,8 +221,8 @@ bool blockinit(ref BlockOpt bo)
221221 L1 :
222222 foreach (blp; b.Bpred[])
223223 {
224- foreach (bls; ListRange (blp.Bsucc))
225- if (list_block( bls) == b)
224+ foreach (bls; BsuccArray (blp.Bsucc))
225+ if (bls == b)
226226 continue L1 ;
227227 assert (0 );
228228 }
@@ -328,6 +328,7 @@ bool dom(ref BlockOpt bo, const block* A, const block* B)
328328 * Find all the loops.
329329 */
330330
331+ @trusted
331332private void findloops (ref BlockOpt bo, block* [] dfo, ref Loops loops)
332333{
333334 freeloop(loops);
@@ -340,9 +341,8 @@ private void findloops(ref BlockOpt bo, block*[] dfo, ref Loops loops)
340341 // loops are found first)
341342 {
342343 assert (b);
343- foreach (bl; ListRange (b.Bsucc))
344+ foreach (s; BsuccArray (b.Bsucc))
344345 {
345- block* s = list_block(bl); // each successor s to b
346346 assert (s);
347347 if (dom(bo, s, b)) // if s dominates b
348348 buildloop(bo, loops, s, b); // we found a loop
455455 vec_setbit(i,l.Lexit); /* ret blocks are exit blocks */
456456 else
457457 {
458- foreach (bl; ListRange (bo.dfo[i].Bsucc))
459- if (! vec_testbit(list_block(bl) .Bdfoidx,l.Lloop))
458+ foreach (b; BsuccArray (bo.dfo[i].Bsucc))
459+ if (! vec_testbit(b .Bdfoidx,l.Lloop))
460460 {
461461 vec_setbit(i,l.Lexit);
462462 break ;
@@ -610,7 +610,7 @@ static if (1)
610610 foreach (bl; ListRange(bs.Bsucc))
611611 if (list_block(bl) == head)
612612 {
613- bl.ptr = cast ( void * ) head2;
613+ bl.ptr = head2;
614614 goto L2 ;
615615 }
616616 assert (0 );
0 commit comments