diff options
author | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-01-31 05:13:34 +0000 |
---|---|---|
committer | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-01-31 05:13:34 +0000 |
commit | 7fb29e6397a619886134ed1e2840238e10682ef9 (patch) | |
tree | c6f8c0932c79628d280754aa2f1e0d0dc3be9b9b /gcc/sched-int.h | |
parent | 695d0c0821f1524d7cede851ddff72cfa36661fa (diff) | |
download | gcc-7fb29e6397a619886134ed1e2840238e10682ef9.tar.gz |
Reverted:
2011-01-25 Alexandre Oliva <aoliva@redhat.com>
PR debug/45136
PR debug/45130
* haifa-sched.c (get_ebb_head_tail): Move notes across boundary
debug insns.
(no_real_insns_p, schedule_block, set_priorities): Drop special
treatment of boundary debug insns.
* sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug
insns.
* sched-ebb.c (schedule_ebbs): Don't skip debug insns.
* sched-int.h (DEBUG_INSN_SCHED_P): Remove.
(BOUNDARY_DEBUG_INSN_P): Likewise.
(SCHEDULE_DEBUG_INSN_P): Likewise.
* sched-rgn.c (init_ready_list): Drop special treatment of
boundary debug insns.
* final.c (rest_of_clean-state): Clear notes' BB.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169429 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sched-int.h')
-rw-r--r-- | gcc/sched-int.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/sched-int.h b/gcc/sched-int.h index 9077c881ce6..68cfa23ee06 100644 --- a/gcc/sched-int.h +++ b/gcc/sched-int.h @@ -887,6 +887,23 @@ extern VEC(haifa_deps_insn_data_def, heap) *h_d_i_d; #define IS_SPECULATION_BRANCHY_CHECK_P(INSN) \ (RECOVERY_BLOCK (INSN) != NULL && RECOVERY_BLOCK (INSN) != EXIT_BLOCK_PTR) +/* The unchanging bit tracks whether a debug insn is to be handled + like an insn (i.e., schedule it) or like a note (e.g., it is next + to a basic block boundary. */ +#define DEBUG_INSN_SCHED_P(insn) \ + (RTL_FLAG_CHECK1("DEBUG_INSN_SCHED_P", (insn), DEBUG_INSN)->unchanging) + +/* True if INSN is a debug insn that is next to a basic block + boundary, i.e., it is to be handled by the scheduler like a + note. */ +#define BOUNDARY_DEBUG_INSN_P(insn) \ + (DEBUG_INSN_P (insn) && !DEBUG_INSN_SCHED_P (insn)) +/* True if INSN is a debug insn that is not next to a basic block + boundary, i.e., it is to be handled by the scheduler like an + insn. */ +#define SCHEDULE_DEBUG_INSN_P(insn) \ + (DEBUG_INSN_P (insn) && DEBUG_INSN_SCHED_P (insn)) + /* Dep status (aka ds_t) of the link encapsulates information, that is needed for speculative scheduling. Namely, it is 4 integers in the range [0, MAX_DEP_WEAK] and 3 bits. |