diff options
author | Steven Bosscher <stevenb@suse.de> | 2005-01-26 17:26:33 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2005-01-26 17:26:33 +0000 |
commit | f7aa1423e222c3404666f54455d1968f7d769c83 (patch) | |
tree | 01482693087a7300ccd5d02237745f640bf1246e /gcc/cfgbuild.c | |
parent | b929615a7c328c01cc7ebd7010938f504f6356b3 (diff) | |
download | gcc-f7aa1423e222c3404666f54455d1968f7d769c83.zip gcc-f7aa1423e222c3404666f54455d1968f7d769c83.tar.gz gcc-f7aa1423e222c3404666f54455d1968f7d769c83.tar.bz2 |
re PR middle-end/16585 (current_function_has_computed_jump incorrectly changed in make_edges)
PR middle-end/16585
* cfgbuild.c (make_edges): Do not clear or set
current_function_has_computed_jump.
* function.h (struct function): Remove the has_computed_jump field.
(current_function_has_computed_jump): Do not define.
* sched-rgn.c (is_cfg_nonregular): Return true if a basic block ends
in a computed jump. Ignore current_function_has_computed_jump.
From-SVN: r94269
Diffstat (limited to 'gcc/cfgbuild.c')
-rw-r--r-- | gcc/cfgbuild.c | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/gcc/cfgbuild.c b/gcc/cfgbuild.c index fdfbcca..7f3e72b 100644 --- a/gcc/cfgbuild.c +++ b/gcc/cfgbuild.c @@ -227,18 +227,6 @@ make_edges (basic_block min, basic_block max, int update_p) basic_block bb; sbitmap *edge_cache = NULL; - /* Assume no computed jump; revise as we create edges. */ - current_function_has_computed_jump = 0; - - /* If we are partitioning hot and cold basic blocks into separate - sections, we cannot assume there is no computed jump (partitioning - sometimes requires the use of indirect jumps; see comments about - partitioning at the top of bb-reorder.c:partition_hot_cold_basic_blocks - for complete details). */ - - if (flag_reorder_blocks_and_partition) - current_function_has_computed_jump = 1; - /* Heavy use of computed goto in machine-generated code can lead to nearly fully-connected CFGs. In that case we spend a significant amount of time searching the edge lists for duplicates. */ @@ -325,8 +313,6 @@ make_edges (basic_block min, basic_block max, int update_p) everything on the forced_labels list. */ else if (computed_jump_p (insn)) { - current_function_has_computed_jump = 1; - for (x = forced_labels; x; x = XEXP (x, 1)) make_label_edge (edge_cache, bb, XEXP (x, 0), EDGE_ABNORMAL); } |