Mercurial > hg > graal-compiler
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()) { |