This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] RTL docs update
""Seongbae Park (박성배, 朴成培)"" <seongbae.park@gmail.com> writes:
> On 7/4/07, Seongbae Park (박성배, 朴成培) <seongbae.park@gmail.com> wrote:
>> So, in summary (apology if the table formatting doesn't survive):
>>
>> as insn within parallel
>> within non-parallel rtx
>> UNSPEC not deletable not deletable deletable
>> USE not deletable deletable deletable
>> CLOBBER not deletable deletable deletable
That's my understanding. (Pedantically, CLOBBERs as insns can
be deleted sometimes, but I realise you were simplifying for the
purposes of the table.)
>> My main gripe is that USE and UNSPEC are similar enough that the
>> distinction is confusing, and especially USE/CLOBBER being deletable
>> or not depending on whether it appears as insn or in parallel.
Well, I agree that the USE/CLOBBER situation is not nice, but that's
really because of the use of USE and CLOBBER as fancy dataflow markers.
I think the use of USE and CLOBBER in real insns is fairly intuitive.
So...
>> Hence my proposal was to distinguish between those two by whether
>> there's unknown effect to the runtime state (USE) or not (UNSPEC).
>> However, it looks like this will be a lot of work with small benefit,
>> so I'll drop the FIXME part, and update the comment on USE.
...it would be great if the df infrastructure could bring about the end
of USE and CLOBBER dataflow INSNs. INSN_P really would then mean what
it implies. And I think that's the more natural FIXME, not the
USE/UNSPEC thing. In real insns, USE and UNSPEC really do serve
two different purposes.
> Attached is the patch with the update.
> Presumably this just reflects the current status and nothing more.
> ChangeLog:
>
> 2007-07-03 Seongbae Park <seongbae.park@gmail.com>
>
> * rtl.def (UNSPEC): Drop FIXME.
> (USE): More comments.
FWIW (having griped so much), this looks good to me.
Richard