aboutsummaryrefslogtreecommitdiff
path: root/gcc/sched-int.h
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@codesourcery.com>2011-07-15 13:20:10 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2011-07-15 13:20:10 +0000
commitaef0e7a8c2a0fc93efb26c35babc92b4d8614c45 (patch)
tree0bb9cddf8c35822d3cea46f03f9830031fecd1a6 /gcc/sched-int.h
parentce6e60b2a4e275812c7ffe2fb0f2adb98f4b6677 (diff)
downloadgcc-aef0e7a8c2a0fc93efb26c35babc92b4d8614c45.zip
gcc-aef0e7a8c2a0fc93efb26c35babc92b4d8614c45.tar.gz
gcc-aef0e7a8c2a0fc93efb26c35babc92b4d8614c45.tar.bz2
revert: re PR rtl-optimization/11320 (Scheduler bug)
Revert 2003-07-10 Eric Botcazou <ebotcazou@libertysurf.fr> PR rtl-optimization/11320 * sched-int.h (struct deps) [reg_conditional_sets]: New field. (struct sched_info) [compute_jump_reg_dependencies]: New prototype. * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to current_sched_info->compute_jump_reg_dependencies. Record which registers are used and which registers are set by the jump. Clear deps->reg_conditional_sets after a barrier. Set deps->reg_conditional_sets if the insn is a COND_EXEC. Clear deps->reg_conditional_sets if the insn is not a COND_EXEC. (init_deps): Initialize reg_conditional_sets. (free_deps): Clear reg_conditional_sets. * sched-ebb.c (compute_jump_reg_dependencies): New prototype. Mark registers live on entry of the fallthrough block and conditionally set as set by the jump. Mark registers live on entry of non-fallthrough blocks as used by the jump. * sched-rgn.c (compute_jump_reg_dependencies): New prototype. Mark new parameters as unused. From-SVN: r176315
Diffstat (limited to 'gcc/sched-int.h')
-rw-r--r--gcc/sched-int.h7
1 files changed, 2 insertions, 5 deletions
diff --git a/gcc/sched-int.h b/gcc/sched-int.h
index 348a3cc..2eee49d 100644
--- a/gcc/sched-int.h
+++ b/gcc/sched-int.h
@@ -173,7 +173,7 @@ extern struct ready_list ready;
extern int max_issue (struct ready_list *, int, state_t, bool, int *);
-extern void ebb_compute_jump_reg_dependencies (rtx, regset, regset, regset);
+extern void ebb_compute_jump_reg_dependencies (rtx, regset);
extern edge find_fallthru_edge_from (basic_block);
@@ -517,9 +517,6 @@ struct deps_desc
in reg_last[N].{uses,sets,clobbers}. */
regset_head reg_last_in_use;
- /* Element N is set for each register that is conditionally set. */
- regset_head reg_conditional_sets;
-
/* Shows the last value of reg_pending_barrier associated with the insn. */
enum reg_pending_barrier_mode last_reg_pending_barrier;
@@ -1147,7 +1144,7 @@ struct sched_deps_info_def
/* Called when computing dependencies for a JUMP_INSN. This function
should store the set of registers that must be considered as set by
the jump in the regset. */
- void (*compute_jump_reg_dependencies) (rtx, regset, regset, regset);
+ void (*compute_jump_reg_dependencies) (rtx, regset);
/* Start analyzing insn. */
void (*start_insn) (rtx);