[RFC] Kill gen_sequence
Jan Hubicka
jh@suse.cz
Thu Jun 6 05:18:00 GMT 2002
>
> The idea of this patch is to eliminate usage of SEQUENCE rtl from
> most of the compiler. Usage remains in three areas:
>
> 1) SSA. It even hacks up the insns in the SEQUENCE array so
> that it's just the SETs.
>
> Maybe these bits can just be replaces with a parallel?
>
> 2) REORG. This is how delay slots are represented.
> As discussed the other day, there is no particular reason
> why SEQUENCES are needed to represent this stuff and REORG
> should be obliterated in favor of having the instruction
> scheduler solve this problem.
>
> 3) SH/PA ports. They put a special SEQUENCE into a reg note
> of an insn for the sake of describing things to dwarf2.
>
> The usage of SEQUENCE is arbitrary here, we can just as easily
> use a PARALLEL since the intepretation of the contents is fixed
> since this lives only in these special REG_NOTES dwarf2 looks
> for.
>
> One minor piece of lossage results from this patch. Basically
> splitters are no longer allowed to emit no instructions, they have to
> emit some RTL. The reason for this is that now that all of the
> generators return an INSN list, there is no easy way to distinguish
> between "no splitter matched" and "splitter matched but no insns
> emitted".
>
> Initially I was very concerned about potential fallout from this....
>
> 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?)
>
> Any comments or suggestions before I check this in? Also, if anyone
Did you tested how much of performance it brings?
sequence is relatively consistent abstraction bit, but in case it is
expensive I don't have objections...
Honza
More information about the Gcc-patches
mailing list