[RFC] Kill gen_sequence

David S. Miller davem@redhat.com
Thu Jun 6 05:28:00 GMT 2002


   From: Jan Hubicka <jh@suse.cz>
   Date: Thu, 6 Jun 2002 14:18:40 +0200

   > As it turned out, it's not such a big deal.  I reviewed every single
   > splitter in every MD file and I found only 3 occurances of splitters
   > which could potentially output 0 insns.
   
   Can't this be cared by potentially teaching try_split to emit
   NOTE_INSN_DELETED if it happends?
   (or at least abort, so we find such bugs?)

If it really matters we could do something like that.
Sure.

   > Any comments or suggestions before I check this in?  Also, if anyone
   
   Did you tested how much of performance it brings?

I didn't do raw timing, but RTL allocations were down noticably.

To me better performance would just be a nice side effect to this
change, the whole business of using SEQUENCE for RTL generation is
just stupid.  See below.

   sequence is relatively consistent abstraction bit, but in case it is
   expensive I don't have objections...

We can keep SEQUENCES around for other uses, but the usage for RTL
generation was just stupid.  And the "optimization" gen_sequence had
to return the PATTERN in the 1 INSN case instead of a SEQUENCE caused
the INSN rtl to be thrown away (which later means it is regenerated)!

The real goal is to eliminate as much of throw-away RTL generation as
possible when it can be done so easily and without really bad
side-effects.  Then I can really start doing something meaningful with
GC wrt. RTL.  I started to hack on GC then I noticed the "throwaway
RTL" issue needed to be dealt with first.



More information about the Gcc-patches mailing list