public inbox for gcc-cvs@sourceware.org help / color / mirror / Atom feed
From: Matthew Malcomson <matmal01@gcc.gnu.org> To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/vendors/ARM/heads/morello)] Use build_fold_addr_expr_with_type(_loc) more often Date: Thu, 5 May 2022 12:08:02 +0000 (GMT) [thread overview] Message-ID: <20220505120802.A13593856256@sourceware.org> (raw) https://gcc.gnu.org/g:cebe45279cc2ad13cdcc324b868971c7a3e79495 commit cebe45279cc2ad13cdcc324b868971c7a3e79495 Author: Richard Sandiford <richard.sandiford@arm.com> Date: Mon Apr 11 17:42:52 2022 +0100 Use build_fold_addr_expr_with_type(_loc) more often There are already dedicated build_fold_addr_expr_with_type(_loc) routines for folding an ADDR_EXPR, but some pieces of code were instead using the generic fold_build1(_loc), which don't do much folding for ADDR_EXPRs. Diff: --- gcc/builtins.c | 2 +- gcc/fortran/trans-array.c | 5 +++-- gcc/fortran/trans.c | 8 ++++---- gcc/tree-ssa-loop-ivopts.c | 3 ++- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/gcc/builtins.c b/gcc/builtins.c index 29c96f05e5f..2f2b2414524 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -5718,7 +5718,7 @@ stabilize_va_list_loc (location_t loc, tree valist, int needs_lvalue) if (! TREE_SIDE_EFFECTS (valist)) return valist; - valist = fold_build1_loc (loc, ADDR_EXPR, pt, valist); + valist = build_fold_addr_expr_with_type_loc (loc, valist, pt); TREE_SIDE_EFFECTS (valist) = 1; } diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index dcb0d166f9f..96c12a44ff9 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -6414,8 +6414,9 @@ gfc_trans_auto_array_allocation (tree decl, gfc_symbol * sym, tmp = fold_build1_loc (input_location, DECL_EXPR, TREE_TYPE (space), space); gfc_add_expr_to_block (&init, tmp); - addr = fold_build1_loc (gfc_get_location (&sym->declared_at), - ADDR_EXPR, TREE_TYPE (decl), space); + addr = build_fold_addr_expr_with_type_loc + (gfc_get_location (&sym->declared_at), + space, TREE_TYPE (decl)); gfc_add_modify (&init, decl, addr); gfc_add_init_cleanup (block, gfc_finish_block (&init), NULL_TREE); tmp = NULL_TREE; diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c index ed054261452..997326c6ac4 100644 --- a/gcc/fortran/trans.c +++ b/gcc/fortran/trans.c @@ -300,7 +300,7 @@ gfc_build_addr_expr (tree type, tree t) tree base = get_base_address (t); if (base && DECL_P (base)) TREE_ADDRESSABLE (base) = 1; - t = fold_build1_loc (input_location, ADDR_EXPR, natural_type, t); + t = build_fold_addr_expr_with_type_loc (input_location, t, natural_type); } if (type && natural_type != type) @@ -517,9 +517,9 @@ trans_runtime_error_vararg (tree errorfunc, locus* where, const char* msgid, loc = where ? gfc_get_location (where) : input_location; tmp = fold_build_call_array_loc (loc, TREE_TYPE (fntype), - fold_build1_loc (loc, ADDR_EXPR, - build_pointer_type (fntype), - errorfunc), + build_fold_addr_expr_with_type_loc + (loc, errorfunc, + build_pointer_type (fntype)), nargs + 2, argarray); gfc_add_expr_to_block (&block, tmp); diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c index 0148a1fdee7..4e3ef0aaada 100644 --- a/gcc/tree-ssa-loop-ivopts.c +++ b/gcc/tree-ssa-loop-ivopts.c @@ -7518,7 +7518,8 @@ rewrite_use_address (struct ivopts_data *data, if (use->type == USE_PTR_ADDRESS) { - ref = fold_build1 (ADDR_EXPR, build_pointer_type (use->mem_type), ref); + tree ptr_type = build_pointer_type (use->mem_type); + ref = build_fold_addr_expr_with_type (ref, ptr_type); ref = fold_convert (get_use_type (use), ref); ref = force_gimple_operand_gsi (&bsi, ref, true, NULL_TREE, true, GSI_SAME_STMT);
reply other threads:[~2022-05-05 12:08 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20220505120802.A13593856256@sourceware.org \ --to=matmal01@gcc.gnu.org \ --cc=gcc-cvs@gcc.gnu.org \ /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: linkBe 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).