This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix ssa coalescing with inline asm (PR middle-end/70593)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Richard Biener <rguenther at suse dot de>
- Cc: Jeff Law <law at redhat dot com>, Bernd Schmidt <bschmidt at redhat dot com>, Alexandre Oliva <aoliva at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Date: Fri, 8 Apr 2016 18:10:05 +0200
- Subject: Re: [PATCH] Fix ssa coalescing with inline asm (PR middle-end/70593)
- Authentication-results: sourceware.org; auth=none
- References: <20160408145422 dot GU19207 at tucnak dot redhat dot com> <9DA16A93-95B8-4A4B-BB31-1D34C11E88C7 at suse dot de>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Fri, Apr 08, 2016 at 06:04:38PM +0200, Richard Biener wrote:
> Hmm, don't we simply want to do this for all stmts (OK, only asm have multiple defs...)?
For all stmts that have multiple defs (which is only GIMPLE_ASM right now).
Though, of course, if you want, unconditionally doing:
bool first = true;
FOR_EACH_SSA_TREE_OPERAND (var, stmt, iter, SSA_OP_DEF)
if (first)
first = false;
else
live_track_process_use (live, var);
would work too and would be prepared for future hypothetical stmts
with multiple defs. The reason why I'm not calling live_track_process_use
on the first SSA_OP_DEF operand is that it is completely useless,
because the first live_track_process_def will undo it immediately.
For the above, I guess I'd just slightly adjust the comment, instead of
For GIMPLE_ASM as the only statement which can have
more than one SSA_NAME definition, ...
say
For stmts with more than one SSA_NAME definition, ...
Jakub