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

Bernd Schmidt bernds@codesourcery.com
Thu Mar 27 17:57:00 GMT 2014


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



More information about the Gcc mailing list