This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Handle CALL_INSN_FUNCTION_USAGE clobbers in regcprop.c
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Tom de Vries <Tom_deVries at mentor dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Terry Guo <terry dot guo at arm dot com>
- Date: Fri, 9 Jan 2015 11:48:16 +0100
- Subject: Re: [PATCH] Handle CALL_INSN_FUNCTION_USAGE clobbers in regcprop.c
- Authentication-results: sourceware.org; auth=none
- References: <54AFAEFD dot 6060707 at mentor dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Fri, Jan 09, 2015 at 11:35:41AM +0100, Tom de Vries wrote:
> 2015-01-09 Tom de Vries <tom@codesourcery.com>
>
> PR rtl-optimization/64539
> * regcprop.c (copyprop_hardreg_forward_1): Handle clobbers in
> CALL_INSN_FUNCTION_USAGE.
To avoid the duplication, wouldn't it be better to add
static void
kill_clobbered_values (rtx_insn *insn, struct value_data *vd)
{
note_stores (PATTERN (insn), kill_clobbered_value, vd);
if (CALL_P (insn))
{
rtx exp;
for (exp = CALL_INSN_FUNCTION_USAGE (insn); exp; exp = XEXP (exp, 1))
{
rtx x = XEXP (exp, 0);
if (GET_CODE (x) == CLOBBER)
kill_value (SET_DEST (x), vd);
}
}
}
function (with appropriate function comment) and use it in both places?
Otherwise LGTM.
Jakub