diff options
author | Caroline Tice <ctice@gcc.gnu.org> | 2005-03-31 06:59:59 -0800 |
---|---|---|
committer | Caroline Tice <ctice@gcc.gnu.org> | 2005-03-31 06:59:59 -0800 |
commit | 87c8b4bed31dbbf4708549e10814197cac4d8249 (patch) | |
tree | ade60c4c4ed198b0036370e03ebd3a1f64ee4817 /gcc/ifcvt.c | |
parent | 68ec3111c0ff30d2dc2f172897379cc891ae180d (diff) | |
download | gcc-87c8b4bed31dbbf4708549e10814197cac4d8249.zip gcc-87c8b4bed31dbbf4708549e10814197cac4d8249.tar.gz gcc-87c8b4bed31dbbf4708549e10814197cac4d8249.tar.bz2 |
Fix problems with hot/cold partitioning optimization.
From-SVN: r97322
Diffstat (limited to 'gcc/ifcvt.c')
-rw-r--r-- | gcc/ifcvt.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index b0df6da..7a934ee 100644 --- a/gcc/ifcvt.c +++ b/gcc/ifcvt.c @@ -2865,12 +2865,13 @@ find_if_case_1 (basic_block test_bb, edge then_edge, edge else_edge) partition boundaries). See the comments at the top of bb-reorder.c:partition_hot_cold_basic_blocks for complete details. */ - if (flag_reorder_blocks_and_partition - && ((BB_END (then_bb) - && find_reg_note (BB_END (then_bb), REG_CROSSING_JUMP, NULL_RTX)) - || (BB_END (else_bb) - && find_reg_note (BB_END (else_bb), REG_CROSSING_JUMP, - NULL_RTX)))) + if ((BB_END (then_bb) + && find_reg_note (BB_END (then_bb), REG_CROSSING_JUMP, NULL_RTX)) + || (BB_END (test_bb) + && find_reg_note (BB_END (test_bb), REG_CROSSING_JUMP, NULL_RTX)) + || (BB_END (else_bb) + && find_reg_note (BB_END (else_bb), REG_CROSSING_JUMP, + NULL_RTX))) return FALSE; /* THEN has one successor. */ @@ -2970,12 +2971,13 @@ find_if_case_2 (basic_block test_bb, edge then_edge, edge else_edge) partition boundaries). See the comments at the top of bb-reorder.c:partition_hot_cold_basic_blocks for complete details. */ - if (flag_reorder_blocks_and_partition - && ((BB_END (then_bb) - && find_reg_note (BB_END (then_bb), REG_CROSSING_JUMP, NULL_RTX)) - || (BB_END (else_bb) - && find_reg_note (BB_END (else_bb), REG_CROSSING_JUMP, - NULL_RTX)))) + if ((BB_END (then_bb) + && find_reg_note (BB_END (then_bb), REG_CROSSING_JUMP, NULL_RTX)) + || (BB_END (test_bb) + && find_reg_note (BB_END (test_bb), REG_CROSSING_JUMP, NULL_RTX)) + || (BB_END (else_bb) + && find_reg_note (BB_END (else_bb), REG_CROSSING_JUMP, + NULL_RTX))) return FALSE; /* ELSE has one successor. */ |