From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 52399 invoked by alias); 2 Jul 2019 23:06:14 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 52389 invoked by uid 89); 2 Jul 2019 23:06:14 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-14.4 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_HELO_PASS autolearn=ham version=3.3.1 spammy=transc, trans.c, UD:trans.c, HX-Languages-Length:3157 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 02 Jul 2019 23:06:13 +0000 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E429486668; Tue, 2 Jul 2019 23:06:11 +0000 (UTC) Received: from localhost.localdomain (ovpn-112-19.rdu2.redhat.com [10.10.112.19]) by smtp.corp.redhat.com (Postfix) with ESMTP id D674C5D9C6; Tue, 2 Jul 2019 23:06:10 +0000 (UTC) Subject: Re: [PATCH] Remove another bunch of dead assignment. To: =?UTF-8?Q?Martin_Li=c5=a1ka?= , gcc-patches@gcc.gnu.org, richard.sandiford@arm.com References: <92cf2998-1daa-879d-47f9-8e1a4dd5391d@suse.cz> <3dcf1b72-b5a1-4076-078e-2b76fa5dbd58@suse.cz> From: Jeff Law Openpgp: preference=signencrypt Message-ID: Date: Tue, 02 Jul 2019 23:06:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <3dcf1b72-b5a1-4076-078e-2b76fa5dbd58@suse.cz> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2019-07/txt/msg00193.txt.bz2 On 7/1/19 4:28 AM, Martin Liška wrote: > On 6/27/19 7:24 PM, Richard Sandiford wrote: >> Martin Liška writes: >>> diff --git a/gcc/config/i386/i386-expand.c b/gcc/config/i386/i386-expand.c >>> index d50b811d863..1bd251ea8e2 100644 >>> --- a/gcc/config/i386/i386-expand.c >>> +++ b/gcc/config/i386/i386-expand.c >>> @@ -19780,8 +19780,7 @@ ix86_expand_sse2_mulvxdi3 (rtx op0, rtx op1, rtx op2) >>> emit_insn (gen_vec_widen_umult_even_v4si (t5, >>> gen_lowpart (V4SImode, op1), >>> gen_lowpart (V4SImode, op2))); >>> - op0 = expand_binop (mode, add_optab, t5, t4, op0, 1, OPTAB_DIRECT); >>> - >>> + expand_binop (mode, add_optab, t5, t4, op0, 1, OPTAB_DIRECT); >>> } >>> else >>> { >> This means that nothing uses the expanded value. It looks like the >> call was meant to be force_expand_binop instead, so that the expansion >> always goes to op0. > You are right. The same function is called in the else branch of the condition. > > I'm sending updated version of the patch. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? > Thanks, > Martin > >> Richard >> > > 0001-Remove-another-bunch-of-dead-assignment.patch > > From aecb58d06336baeaa86942424c3314c6020dd754 Mon Sep 17 00:00:00 2001 > From: Martin Liska > Date: Thu, 27 Jun 2019 13:39:24 +0200 > Subject: [PATCH] Remove another bunch of dead assignment. > > gcc/ChangeLog: > > 2019-06-27 Martin Liska > > * lra-eliminations.c (eliminate_regs_in_insn): Remove > dead assignemts. > * reg-stack.c (check_asm_stack_operands): Likewise. > * tree-ssa-structalias.c (create_function_info_for): Likewise. > * tree-vect-generic.c (expand_vector_operations_1): Likewise. > * config/i386/i386-expand.c (ix86_expand_sse2_mulvxdi3): Use > force_expand_binop. > > gcc/c-family/ChangeLog: > > 2019-06-27 Martin Liska > > * c-common.c (try_to_locate_new_include_insertion_point): Remove > dead assignemts. > > gcc/cp/ChangeLog: > > 2019-06-27 Martin Liska > > * call.c (build_new_op_1): Remove > dead assignemts. > * typeck.c (cp_build_binary_op): Likewise. > > gcc/fortran/ChangeLog: > > 2019-06-27 Martin Liska > > * check.c (gfc_check_c_funloc): Remove > dead assignemts. > * decl.c (variable_decl): Likewise. > * resolve.c (resolve_typebound_function): Likewise. > * simplify.c (gfc_simplify_matmul): Likewise. > (gfc_simplify_scan): Likewise. > * trans-array.c (gfc_could_be_alias): Likewise. > * trans-common.c (add_equivalences): Likewise. > * trans-expr.c (trans_class_vptr_len_assignment): Likewise. > (gfc_trans_array_constructor_copy): Likewise. > (gfc_trans_assignment_1): Likewise. > * trans-intrinsic.c (conv_intrinsic_atomic_op): Likewise. > * trans-openmp.c (gfc_omp_finish_clause): Likewise. > * trans-types.c (gfc_get_array_descriptor_base): Likewise. > * trans.c (gfc_build_final_call): Likewise. > > libcpp/ChangeLog: > > 2019-06-27 Martin Liska > > * line-map.c (linemap_get_expansion_filename): Remove > dead assignemts. > * mkdeps.c (make_write): Likewise. OK jeff