comparison graal/GraalCompiler/src/com/sun/c1x/ir/ComputeLinearScanOrder.java @ 2704:efbdb3ea95c9

Remove critical edge split identification.
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Wed, 18 May 2011 17:27:06 +0200
parents 42450f536d24
children 4272b7af2d17
comparison
equal deleted inserted replaced
2703:42450f536d24 2704:efbdb3ea95c9
351 if (!cur.isLinearScanLoopEnd()) { 351 if (!cur.isLinearScanLoopEnd()) {
352 weight |= (1 << curBit); 352 weight |= (1 << curBit);
353 } 353 }
354 curBit--; 354 curBit--;
355 355
356 // critical edge split blocks are preferred because then they have a greater
357 // probability to be completely empty
358 if (cur.isCriticalEdgeSplit()) {
359 weight |= (1 << curBit);
360 }
361 curBit--;
362
363 // exceptions should not be thrown in normal control flow, so these blocks 356 // exceptions should not be thrown in normal control flow, so these blocks
364 // are added as late as possible 357 // are added as late as possible
365 if (!(cur.end() instanceof Throw) && (singleSux == null || !(singleSux.end() instanceof Throw))) { 358 if (!(cur.end() instanceof Throw) && (singleSux == null || !(singleSux.end() instanceof Throw))) {
366 weight |= (1 << curBit); 359 weight |= (1 << curBit);
367 } 360 }
502 TTY.println("----- linear-scan block order:"); 495 TTY.println("----- linear-scan block order:");
503 for (BlockBegin cur : linearScanOrder) { 496 for (BlockBegin cur : linearScanOrder) {
504 TTY.print(String.format("%4d: B%02d loop: %2d depth: %2d", cur.linearScanNumber(), cur.blockID, cur.loopIndex(), cur.loopDepth())); 497 TTY.print(String.format("%4d: B%02d loop: %2d depth: %2d", cur.linearScanNumber(), cur.blockID, cur.loopIndex(), cur.loopDepth()));
505 498
506 TTY.print(cur.isExceptionEntry() ? " ex" : " "); 499 TTY.print(cur.isExceptionEntry() ? " ex" : " ");
507 TTY.print(cur.isCriticalEdgeSplit() ? " ce" : " ");
508 TTY.print(cur.isLinearScanLoopHeader() ? " lh" : " "); 500 TTY.print(cur.isLinearScanLoopHeader() ? " lh" : " ");
509 TTY.print(cur.isLinearScanLoopEnd() ? " le" : " "); 501 TTY.print(cur.isLinearScanLoopEnd() ? " le" : " ");
510 502
511 if (cur.numberOfPreds() > 0) { 503 if (cur.numberOfPreds() > 0) {
512 TTY.print(" preds: "); 504 TTY.print(" preds: ");