From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 82649 invoked by alias); 21 Aug 2015 09:45:18 -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 80401 invoked by uid 89); 21 Aug 2015 09:45:17 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.4 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx2.suse.de Received: from mx2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Fri, 21 Aug 2015 09:45:16 +0000 Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 062BCABDE; Fri, 21 Aug 2015 09:45:12 +0000 (UTC) Date: Fri, 21 Aug 2015 09:53:00 -0000 From: Richard Biener To: Jiong Wang cc: "gcc-patches@gcc.gnu.org" Subject: Re: [PATCH] Fix PRs 66502 and 67167 In-Reply-To: Message-ID: References: User-Agent: Alpine 2.11 (LSU 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2015-08/txt/msg01289.txt.bz2 On Fri, 21 Aug 2015, Jiong Wang wrote: > > Richard Biener writes: > > > Given there is now PR67167 I am going forward with the earlier posted > > patch to switch SCCVN to PHI elimination in favor of another PHI > > (to remove IVs) rather than in favor of its only executable edge value. > > > > I still see no way to capture both cases without detecting the choice > > and re-numbering the SCC twice, eventually choosing the "better" outcome. > > And then the situation where both cases happen in the same SCC is not > > handled either. > > > > Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. > > > > Richard. > > > > 2015-08-13 Richard Biener > > > > PR tree-optimization/66502 > > PR tree-optimization/67167 > > * tree-ssa-sccvn.c (vn_phi_compute_hash): Do not include > > backedge arguments. > > (vn_phi_lookup): Adjust. > > (vn_phi_insert): Likewise. > > (visit_phi): Prefer to value-number to another PHI node > > over value-numbering to a PHI argument. > > (init_scc_vn): Mark DFS back edges. > > Richard, > > I suspect this patch r226850 caused internal compiler error on > ./gcc/testsuite/gcc.c-torture/compile/20121027-1.c on arm-non-eabi. > The ICE gone away if I revert this patch. > > it can be easily reproduced by the following command. -mfpu and > -mfloat are necessary. > > ./cc1 -O3 -nostdinc 20121027-1.c -march=armv8-a -mthumb > -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard > > cc1 is generated from > > ../gcc/configure --target=arm-none-eabi --enable-languages=c,c++ > > do you mind to have a look? I see the following ICE: t.c:13:1: internal compiler error: in decompose_normal_address, at rtlanal.c:6090 } ^ 0xc94a37 decompose_normal_address /space/rguenther/tramp3d/trunk/gcc/rtlanal.c:6090 0xc94d25 decompose_address(address_info*, rtx_def**, machine_mode, unsigned char, rtx_code) /space/rguenther/tramp3d/trunk/gcc/rtlanal.c:6167 0xc94dc3 decompose_mem_address(address_info*, rtx_def*) /space/rguenther/tramp3d/trunk/gcc/rtlanal.c:6187 0xb61149 process_address_1 /space/rguenther/tramp3d/trunk/gcc/lra-constraints.c:2867 0xb61c4e process_address /space/rguenther/tramp3d/trunk/gcc/lra-constraints.c:3124 0xb62607 curr_insn_transform /space/rguenther/tramp3d/trunk/gcc/lra-constraints.c:3419 0xb65250 lra_constraints(bool) /space/rguenther/tramp3d/trunk/gcc/lra-constraints.c:4421 that looks like a latent issue to me in an area of GCC I am not familiar with. I suggest to open a bugreport and CC Vladimir. The r226850 change caused us to eliminate an induction variable early (I suspect IVOPTs would have done this later anyway, but I did not verify that): Replaced redundant PHI node defining bl_2 with c_1 Replaced c_1 + 1 with bl_15 in all uses of c_16 = c_1 + 1; Removing dead stmt c_16 = c_1 + 1; Removing dead stmt bl_2 = PHI <0(2), bl_15(3)> Thanks, Richard. > Thanks. > -- Richard Biener SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)