From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23942 invoked by alias); 7 May 2015 08:59:20 -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 23932 invoked by uid 89); 7 May 2015 08:59:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=AWL,BAYES_05,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 07 May 2015 08:59:18 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=SVR-IES-FEM-01.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1YqHeE-0004KE-73 from Thomas_Schwinge@mentor.com ; Thu, 07 May 2015 01:59:14 -0700 Received: from feldtkeller.schwinge.homeip.net (137.202.0.76) by SVR-IES-FEM-01.mgc.mentorg.com (137.202.0.104) with Microsoft SMTP Server id 14.3.224.2; Thu, 7 May 2015 09:59:12 +0100 From: Thomas Schwinge To: Richard Sandiford , Bernd Schmidt CC: Subject: [nvptx] Re: Mostly rewrite genrecog In-Reply-To: <87egn5yis1.fsf@e105548-lin.cambridge.arm.com> References: <87egn5yis1.fsf@e105548-lin.cambridge.arm.com> User-Agent: Notmuch/0.9-101-g81dad07 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu) Date: Thu, 07 May 2015 08:59:00 -0000 Message-ID: <871tisvk4q.fsf@kepler.schwinge.homeip.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" X-SW-Source: 2015-05/txt/msg00525.txt.bz2 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-length: 2766 Hi! On Mon, 27 Apr 2015 11:20:30 +0100, Richard Sandiford wrote: > I think it's been the case for a while that parallel builds of GCC tend > to serialise around the compilation of insn-recog.c, especially with > higher --enable-checking settings. This patch tries to speed that > up by replacing most of genrecog with a new algorithm. [...] > Here's a comparison of the number of lines of code in insn-recog.c > before and after the patch on one target per config/ CPU: >=20 > aarch64-linux-gnueabi 115526 38169 : 33.04% > alpha-linux-gnu 24479 10740 : 43.87% > arm-linux-gnueabi 169208 67759 : 40.04% > avr-rtems 55647 22127 : 39.76% > bfin-elf 13928 6498 : 46.65% > c6x-elf 29928 13324 : 44.52% > [...] Nice work! For a nvptx-none build of r222446 and r222860, respectively: $ wc -l {prev/,}build-gcc/gcc/insn-recog.c | head -n -1 5042 prev/build-gcc/gcc/insn-recog.c 2570 build-gcc/gcc/insn-recog.c I'm mostly illiterate regarding GCC's machine description files, and genrecog, but noticed one thing: with the genrecog rewrite, I get the following diff compared to a previous build log: build/genrecog [...]/source-gcc/gcc/common.md [...]/source-gcc/gcc/con= fig/nvptx/nvptx.md \ insn-conditions.md > tmp-recog.c -[...]/source-gcc/gcc/config/nvptx/nvptx.md:1206: warning: operand 0 mi= ssing mode? -[...]/source-gcc/gcc/config/nvptx/nvptx.md:1206: warning: operand 1 mi= ssing mode? +Statistics for recog: + Number of decisions: 799 + longest path: 28 (code: 208) + longest backtrack: 2 (code: 136) +Statistics for split_insns: + Number of decisions: 0 + longest path: 0 (code: -1) + longest backtrack: 0 (code: -1) +Statistics for peephole2_insns: + Number of decisions: 0 + longest path: 0 (code: -1) + longest backtrack: 0 (code: -1) +Shared 655 out of 1350 states by creating 153 new states, saving 502 gcc/config/nvptx/nvptx.md: 1206 (define_insn "allocate_stack" 1207 [(set (match_operand 0 "nvptx_register_operand" "=3DR") 1208 (unspec [(match_operand 1 "nvptx_register_operand" "R")] 1209 UNSPEC_ALLOCA))] 1210 "" 1211 "%.\\tcall (%0), %%alloca, (%1);") Are these two (former) warnings a) something that should still be reported by genrecog, and b) something that should be addressed (Bernd)? Gr=C3=BC=C3=9Fe, Thomas --=-=-= Content-Type: application/pgp-signature; name="signature.asc" Content-length: 472 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJVSylWAAoJEK3/DN1sMFFtYnYH/RIXoV25lGcIbDCv+s80Xt6Y HAX8YkQAmZLwL5mclz0EjqT+lVEHF9mmxEFSBESGxahMoYVIF4YBbyrp4ocTTiC+ c1ZRMlpS5oBDoO8M1IB3wdPgLgeXfY2ByRcnj8W8I40NJuGpjWCJttmvee/09Bp+ Jeogv7DxlaGTNfYnvWj9jnIAQLi1N13OSmFvQ9vyn3axd8kwq2QYSc7Z0MJteVvK shWthkEU+ZlY66K/fz0Ixl3eFv0F1WQX/bVkJ4ey445TWjMom5W0SWCmFwQWIniF 3dauAA/Q6kRYBJFMO8vHLru9FE8MN/ynZf4w4X6Ma3cTT8JBEC+jcXNdR3z6O7g= =rucu -----END PGP SIGNATURE----- --=-=-=--