comparison graal/GraalCompiler/src/com/sun/c1x/graph/IR.java @ 2728:7e470e1cd3b6

Removed special casing for exception phis in LIRGenerator. Removed dependency between LIRBlock.blockID and BlockBegin.blockID.
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Thu, 19 May 2011 17:13:30 +0200
parents 173067211acb
children a2f62de90c76
comparison
equal deleted inserted replaced
2727:1ddcbcd33325 2728:7e470e1cd3b6
112 finder.splitCriticalEdges(); 112 finder.splitCriticalEdges();
113 ComputeLinearScanOrder computeLinearScanOrder = new ComputeLinearScanOrder(compilation.stats.blockCount, getHIRStartBlock()); 113 ComputeLinearScanOrder computeLinearScanOrder = new ComputeLinearScanOrder(compilation.stats.blockCount, getHIRStartBlock());
114 List<BlockBegin> blocks = computeLinearScanOrder.linearScanOrder(); 114 List<BlockBegin> blocks = computeLinearScanOrder.linearScanOrder();
115 orderedBlocks = new ArrayList<LIRBlock>(); 115 orderedBlocks = new ArrayList<LIRBlock>();
116 116
117 int z = 0;
117 for (BlockBegin bb : blocks) { 118 for (BlockBegin bb : blocks) {
118 LIRBlock lirBlock = new LIRBlock(bb.blockID); 119 LIRBlock lirBlock = new LIRBlock(z);
119 bb.setLIRBlock(lirBlock); 120 bb.setLIRBlock(lirBlock);
120 lirBlock.setLinearScanNumber(bb.linearScanNumber()); 121 lirBlock.setLinearScanNumber(bb.linearScanNumber());
121 // TODO(tw): Initialize LIRBlock.linearScanLoopHeader and LIRBlock.linearScanLoopEnd 122 // TODO(tw): Initialize LIRBlock.linearScanLoopHeader and LIRBlock.linearScanLoopEnd
122 lirBlock.setStateBefore(bb.stateBefore()); 123 lirBlock.setStateBefore(bb.stateBefore());
123 orderedBlocks.add(lirBlock); 124 orderedBlocks.add(lirBlock);
125 ++z;
124 } 126 }
125 127
126 for (BlockBegin bb : blocks) { 128 for (BlockBegin bb : blocks) {
127 LIRBlock lirBlock = bb.lirBlock(); 129 LIRBlock lirBlock = bb.lirBlock();
128 for (int i = 0; i < bb.numberOfPreds(); ++i) { 130 for (int i = 0; i < bb.numberOfPreds(); ++i) {