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

Reply via email to