This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch ifcvt] Teach RTL ifcvt to handle multiple simple set instructions
- From: Bernd Schmidt <bschmidt at redhat dot com>
- To: James Greenhalgh <james dot greenhalgh at arm dot com>, gcc-patches at gcc dot gnu dot org
- Cc: bernds_cb1 at t-online dot de, law at redhat dot com, ebotcazou at libertysurf dot fr, steven at gcc dot gnu dot org, kyrylo dot tkachov at arm dot com, richard dot guenther at gmail dot com
- Date: Wed, 4 Nov 2015 12:04:19 +0100
- Subject: Re: [Patch ifcvt] Teach RTL ifcvt to handle multiple simple set instructions
- Authentication-results: sourceware.org; auth=none
- References: <55F1CAA0 dot 1000401 at t-online dot de> <1446228218-30943-1-git-send-email-james dot greenhalgh at arm dot com>
On 10/30/2015 07:03 PM, James Greenhalgh wrote:
+ i = tmp_i; <- Should be cleaned up
Maybe reword as "Subsequent passes are expected to clean up the extra
moves", otherwise it sounds like a TODO item.
+ read back in anotyher SET, as might occur in a swap idiom or
Typo.
+ if (find_reg_note (insn, REG_DEAD, new_val) != NULL_RTX)
+ {
+ /* The write to targets[i] is only live until the read
+ here. As the condition codes match, we can propagate
+ the set to here. */
+ new_val = SET_SRC (single_set (unmodified_insns[i]));
+ }
Shouldn't use braces around single statements (also goes for the
surrounding for loop).
+ /* We must have at least one real insn to convert, or there will
+ be trouble! */
+ unsigned count = 0;
The comment seems a bit strange in this context - I think it's left over
from the earlier version?
As far as I'm concerned this is otherwise ok.
Bernd