This is the mail archive of the gcc-patches@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: [PATCH] RTL docs update


On 02 July 2007 20:58, Seongbae Park (???, ???) wrote:

> On 7/2/07, Richard Sandiford wrote:
>> ""Seongbae Park (???, ???)"" writes:

>>> +   UNSPEC can occur all by itself in a PATTERN, as a component of a
>>> PARALLEL, +   or inside an expression. +   UNSPEC by itself or as a
>>> component of a PARALLEL +   is currently considered not deletable.
>>> +
>>> +   FIXME: Replace all uses of UNSPEC that appears by itself or as a
>>> component +   of a PARALLEL with USE. +   */
>> 
>> Do we actually want to do that?  Some of the current uses of UNSPECs are
>> for things that are supposed to be less severe than an UNSPEC_VOLATILE.
>> The MIPS case was an example of that.  The SPU ifetch pattern is another.
> 
> Before further to into this discussion, let me define some terms I'll use:
> 
> I'll call an rtx sppearing as "top-level" if the rtx
> appears either an INSN itself or as the operand of PARALLEL
> but not as operands of other rtx.
> 
> The longer term direction I was thinking we wanted, was to use top-level USE
> to indicate the value is used by something,
> and make it invalid to use UNSPEC as top-level
> (or even if it is not invalid, it would essentially be a dead code,
> just like e.g. "PLUS" as top-level would be a dead code).


  My understanding of an UNSPEC is that it's something the middle-end should
treat as a kind of 'black box'; it would make sense to me that the mid-end not
be expected to look inside and make sense of what's there (barring assistance
from the back-end), so just because there's a REG in there doesn't mean the
midend should treat it as a USE, but OTOH isn't 'dead code' way too strong a
term to use?  It's not deleteable, is it?


    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


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