This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Question, C6X] Under what situations should we disable DCE in sched2?


On 03/27/2014 02:50 PM, Felix Yang wrote:
     I find DCE in sched2 is disabled for C6X backend. Is this a
performance consideration? Or a GCC BUG?

As far as I remember, it's a problem due to how delayed instructions are represented to the final scheduler. Just before that scheduling pass is run, the actual instruction is turned into just an UNSPEC without visible side effects, and a shadow insn that describes the side effect is created. The scheduler ensures that the shadow insn always occurs after a fixed time from the real insn (set up by record_delay_slot_pair). Any pass other than the scheduler would be confused by this representation (and by the delayed effects in general), that includes DCE.


Bernd


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]