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