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 1/3] SH-2A FDPIC: New pattern: use_initial_val


On 08/19/2010 08:18 PM, Richard Henderson wrote:
> On 08/19/2010 09:08 AM, Andrew Stubbs wrote:
>> This patch creates a new instruction pattern "use_initial_val".
>>
>> The purpose of this patch is to allow late optimization passes to use
>> re-use existing pseudo-registers, even if the use of the register has
>> been optimized away in earlier passes.
> 
> What is a target intended to do in this use_initial_val pattern?
> 
> Looking forward to 3/3, it seems you emit a fancy USE insn, whose
> purpose appears to be simply to extend the lifetime of the pseudo,
> without actually using it in a specific pattern.

Yes.  It's an unspec which later gets turned into a no-op.

> Without looking deeper, it seems this is a mistake.
> Can you explain further when and why this is required?

We get a pseudo for an initial value during rtl expansion.  All uses of
the pseudo are optimized away.  Later, in optimize_mode_switching, we
introduce new references to the pseudo, but the initializing insn has
been deleted.


Bernd


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