public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Sandiford <richard.sandiford@arm.com>
To: Xi Ruoyao <xry111@mengyan1223.wang>
Cc: gcc-patches@gcc.gnu.org, Jakub Jelinek <jakub@gcc.gnu.org>,
	Matthew Fortune <mfortune@gmail.com>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>
Subject: Re: PING^5: [PATCH] mips: Fix up mips_atomic_assign_expand_fenv [PR94780]
Date: Fri, 30 Jul 2021 09:11:38 +0100	[thread overview]
Message-ID: <mpt5ywsi5l1.fsf@arm.com> (raw)
In-Reply-To: <41b4eb8970718ada95ecf6b6de9dd3a515db6cff.camel@mengyan1223.wang> (Xi Ruoyao's message of "Fri, 30 Jul 2021 12:56:31 +0800")

Xi Ruoyao <xry111@mengyan1223.wang> writes:
> Ping again.
>
> On Wed, 2021-06-23 at 11:11 +0800, Xi Ruoyao wrote:
>> Commit message shamelessly copied from 1777beb6b129 by jakub:
>> 
>> This function, because it is sometimes called even outside of function
>> bodies, uses create_tmp_var_raw rather than create_tmp_var.  But in
>> order
>> for that to work, when first referenced, the VAR_DECLs need to appear
>> in a
>> TARGET_EXPR so that during gimplification the var gets the right
>> DECL_CONTEXT and is added to local decls.
>> 
>> Bootstrapped & regtested on mips64el-linux-gnu.  Ok for trunk and
>> backport
>> to 11, 10, and 9?

OK for all, thanks.

Similar comments to the previous message about the appropriateness
of me reviewing the patch, but like you say, this is doing for MIPS
what we've already had to do for other targets.

Richard

>> 
>> gcc/
>> 
>>         * config/mips/mips.c (mips_atomic_assign_expand_fenv): Use
>>           TARGET_EXPR instead of MODIFY_EXPR.
>> ---
>>  gcc/config/mips/mips.c | 12 ++++++------
>>  1 file changed, 6 insertions(+), 6 deletions(-)
>> 
>> diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
>> index 8f043399a8e..89d1be6cea6 100644
>> --- a/gcc/config/mips/mips.c
>> +++ b/gcc/config/mips/mips.c
>> @@ -22439,12 +22439,12 @@ mips_atomic_assign_expand_fenv (tree *hold,
>> tree *clear, tree *update)
>>    tree get_fcsr = mips_builtin_decls[MIPS_GET_FCSR];
>>    tree set_fcsr = mips_builtin_decls[MIPS_SET_FCSR];
>>    tree get_fcsr_hold_call = build_call_expr (get_fcsr, 0);
>> -  tree hold_assign_orig = build2 (MODIFY_EXPR, MIPS_ATYPE_USI,
>> -                                 fcsr_orig_var, get_fcsr_hold_call);
>> +  tree hold_assign_orig = build4 (TARGET_EXPR, MIPS_ATYPE_USI,
>> +                                 fcsr_orig_var, get_fcsr_hold_call,
>> NULL, NULL);
>>    tree hold_mod_val = build2 (BIT_AND_EXPR, MIPS_ATYPE_USI,
>> fcsr_orig_var,
>>                               build_int_cst (MIPS_ATYPE_USI,
>> 0xfffff003));
>> -  tree hold_assign_mod = build2 (MODIFY_EXPR, MIPS_ATYPE_USI,
>> -                                fcsr_mod_var, hold_mod_val);
>> +  tree hold_assign_mod = build4 (TARGET_EXPR, MIPS_ATYPE_USI,
>> +                                fcsr_mod_var, hold_mod_val, NULL,
>> NULL);
>>    tree set_fcsr_hold_call = build_call_expr (set_fcsr, 1,
>> fcsr_mod_var);
>>    tree hold_all = build2 (COMPOUND_EXPR, MIPS_ATYPE_USI,
>>                           hold_assign_orig, hold_assign_mod);
>> @@ -22454,8 +22454,8 @@ mips_atomic_assign_expand_fenv (tree *hold,
>> tree *clear, tree *update)
>>    *clear = build_call_expr (set_fcsr, 1, fcsr_mod_var);
>>  
>>    tree get_fcsr_update_call = build_call_expr (get_fcsr, 0);
>> -  *update = build2 (MODIFY_EXPR, MIPS_ATYPE_USI,
>> -                   exceptions_var, get_fcsr_update_call);
>> +  *update = build4 (TARGET_EXPR, MIPS_ATYPE_USI,
>> +                   exceptions_var, get_fcsr_update_call, NULL, NULL);
>>    tree set_fcsr_update_call = build_call_expr (set_fcsr, 1,
>> fcsr_orig_var);
>>    *update = build2 (COMPOUND_EXPR, void_type_node, *update,
>>                     set_fcsr_update_call);

  reply	other threads:[~2021-07-30  8:11 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-23  3:11 Xi Ruoyao
2021-06-28 13:50 ` PING: " Xi Ruoyao
2021-07-09  6:51   ` PING^2: " Xi Ruoyao
2021-07-16  5:53 ` PING^3: " Xi Ruoyao
2021-07-23 12:47 ` PING^4: " Xi Ruoyao
2021-07-30  4:56 ` PING^5: " Xi Ruoyao
2021-07-30  8:11   ` Richard Sandiford [this message]
2021-07-30  8:23     ` Xi Ruoyao
2021-07-30 18:08       ` committed: " Xi Ruoyao
2021-07-31 10:27         ` Xi Ruoyao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=mpt5ywsi5l1.fsf@arm.com \
    --to=richard.sandiford@arm.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jakub@gcc.gnu.org \
    --cc=macro@orcam.me.uk \
    --cc=mfortune@gmail.com \
    --cc=xry111@mengyan1223.wang \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).