Hello,
I find DCE in sched2 is disabled for C6X backend. Is this a
performance consideration? Or a GCC BUG?
And under what situations should we disable DCE in sched2?
Can anyone explain this? Many thanks.
The code snippet:
static void
c6x_reorg (void)
{
basic_block bb;
rtx *call_labels;
bool do_selsched = (c6x_flag_schedule_insns2 && flag_selective_scheduling2
&& !maybe_skip_selective_scheduling ());
........
/* Make sure the real-jump insns we create are not deleted. When modulo-
scheduling, situations where a reg is only stored in a loop can also
cause dead code when doing the initial unrolling. */
sched_no_dce = true;
........
Cheers,
Felix