comparison graal/GraalCompiler/src/com/sun/c1x/ir/ComputeLinearScanOrder.java @ 2581:4a36a0bd6d18

added GraalGraph to classpath, Node as superclass of Value
author Lukas Stadler <lukas.stadler@jku.at>
date Thu, 05 May 2011 13:27:48 +0200
parents a384fac3fd34
children 6d19b4f476db
comparison
equal deleted inserted replaced
2579:4984c8ebd6c7 2581:4a36a0bd6d18
694 BlockBegin cur = linearScanOrder.get(i); 694 BlockBegin cur = linearScanOrder.get(i);
695 695
696 assert cur.linearScanNumber() == i : "incorrect linearScanNumber"; 696 assert cur.linearScanNumber() == i : "incorrect linearScanNumber";
697 assert cur.linearScanNumber() >= 0 && cur.linearScanNumber() == linearScanOrder.indexOf(cur) : "incorrect linearScanNumber"; 697 assert cur.linearScanNumber() >= 0 && cur.linearScanNumber() == linearScanOrder.indexOf(cur) : "incorrect linearScanNumber";
698 698
699 for (BlockBegin sux : cur.end().successors()) { 699 for (BlockBegin sux : cur.end().blockSuccessors()) {
700 assert sux.linearScanNumber() >= 0 && sux.linearScanNumber() == linearScanOrder.indexOf(sux) : "incorrect linearScanNumber"; 700 assert sux.linearScanNumber() >= 0 && sux.linearScanNumber() == linearScanOrder.indexOf(sux) : "incorrect linearScanNumber";
701 if (!cur.checkBlockFlag(BlockBegin.BlockFlag.LinearScanLoopEnd)) { 701 if (!cur.checkBlockFlag(BlockBegin.BlockFlag.LinearScanLoopEnd)) {
702 assert cur.linearScanNumber() < sux.linearScanNumber() : "invalid order"; 702 assert cur.linearScanNumber() < sux.linearScanNumber() : "invalid order";
703 } 703 }
704 if (cur.loopDepth() == sux.loopDepth()) { 704 if (cur.loopDepth() == sux.loopDepth()) {
705 assert cur.loopIndex() == sux.loopIndex() || sux.checkBlockFlag(BlockBegin.BlockFlag.LinearScanLoopHeader) : "successing blocks with same loop depth must have same loop index"; 705 assert cur.loopIndex() == sux.loopIndex() || sux.checkBlockFlag(BlockBegin.BlockFlag.LinearScanLoopHeader) : "successing blocks with same loop depth must have same loop index";
706 } 706 }
707 } 707 }
708 708
709 for (BlockBegin pred : cur.predecessors()) { 709 for (BlockBegin pred : cur.blockPredecessors()) {
710 assert pred.linearScanNumber() >= 0 && pred.linearScanNumber() == linearScanOrder.indexOf(pred) : "incorrect linearScanNumber"; 710 assert pred.linearScanNumber() >= 0 && pred.linearScanNumber() == linearScanOrder.indexOf(pred) : "incorrect linearScanNumber";
711 if (!cur.checkBlockFlag(BlockBegin.BlockFlag.LinearScanLoopHeader)) { 711 if (!cur.checkBlockFlag(BlockBegin.BlockFlag.LinearScanLoopHeader)) {
712 assert cur.linearScanNumber() > pred.linearScanNumber() : "invalid order"; 712 assert cur.linearScanNumber() > pred.linearScanNumber() : "invalid order";
713 } 713 }
714 if (cur.loopDepth() == pred.loopDepth()) { 714 if (cur.loopDepth() == pred.loopDepth()) {