From patchwork Mon Jun 13 09:54:53 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Cheng X-Patchwork-Id: 634475 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3rSp6y0m8Gz9s9r for ; Mon, 13 Jun 2016 19:55:21 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=BacVxvtC; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:mime-version:content-type; q=dns; s=default; b=wH5b4TQtEH7eF+43DKVsRC6nnj01wr18aw2hQI7yHZgcPr9Uat pX7xUBiUvJF1huUmRSO5i8iRgvtdpH6RSAL788be615zk/ZZLGyfDnhwq6/A+Ewv eFpNeMSgJ2gB83Jhv0bjpBY+Ifa7tSXmpP1HAOcgSbWmteaFCOHKeXeYQ= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:mime-version:content-type; s= default; bh=hbpAnDPz+HnDaggzArUrRKCBZG4=; b=BacVxvtCtGKiAK87i/5I 6Ar9oowZLcRxlPT5wMKDDHzwpEt07gyAg+lx8qy8T7LDIzJKSoTG7KbhVDFscapU PxXMhBD74IJSDKK2sl9HXZKnEF4o51gfUFIO4wUcEaQwD0PIcDPRQB5oJOzNPwCu 2zoimnFc6AgufP2NAYWV0HE= Received: (qmail 92279 invoked by alias); 13 Jun 2016 09:55:11 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 92263 invoked by uid 89); 13 Jun 2016 09:55:10 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00, SPF_PASS autolearn=ham version=3.3.2 spammy=H*c:sk:HHHPRHH, H*r:15.01.0511.014, Hx-languages-length:970, Hx-spam-relays-external:15.01.0511.014 X-HELO: eu-smtp-delivery-143.mimecast.com Received: from eu-smtp-delivery-143.mimecast.com (HELO eu-smtp-delivery-143.mimecast.com) (207.82.80.143) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 13 Jun 2016 09:55:00 +0000 Received: from emea01-am1-obe.outbound.protection.outlook.com (mail-am1lrp0019.outbound.protection.outlook.com [213.199.154.19]) (Using TLS) by eu-smtp-1.mimecast.com with ESMTP id uk-mta-6-bhK0R6GzMG-zvubgk4Si8w-1; Mon, 13 Jun 2016 10:54:55 +0100 Received: from DB5PR08MB1144.eurprd08.prod.outlook.com (10.166.174.137) by DB5PR08MB1142.eurprd08.prod.outlook.com (10.166.174.135) with Microsoft SMTP Server (TLS) id 15.1.511.8; Mon, 13 Jun 2016 09:54:54 +0000 Received: from DB5PR08MB1144.eurprd08.prod.outlook.com ([10.166.174.137]) by DB5PR08MB1144.eurprd08.prod.outlook.com ([10.166.174.137]) with mapi id 15.01.0511.014; Mon, 13 Jun 2016 09:54:54 +0000 From: Bin Cheng To: "gcc-patches@gcc.gnu.org" CC: nd Subject: [PATCH Obvious]Check gimple seq before inserting it. Date: Mon, 13 Jun 2016 09:54:53 +0000 Message-ID: x-ms-office365-filtering-correlation-id: 2719297b-5086-46ea-d3f5-08d39370c514 x-microsoft-exchange-diagnostics: 1; DB5PR08MB1142; 5:8pVYxUUyZ4s3D35+XQ01Nu+JQgYUcRlsJwEi+jEiFMYVV3xN2j+4yKXn2wctc7siw9bAFBIUNfi4erUgwkir8XwYacjel8Coq8Sh28EPXGi7MY21ARXzkCHHIAkmdndkSJJJwkZSemyPngmgkj0fkw==; 24:+0R/VBfTTjRsSOdgmMfSaaDIkbmZd69RVDUc4YeIcN4lTEBQU6uq8ApDjWec+L/onS5cF6GZZooqStECrKm3CXWowu/Ev28ey434Lv9hpk4=; 7:bWEWQanD7M+S3zqR1QkWWs86XyNlwb99NN4AyT4dd+/DZwTeyPsSQS/yJdu99EcL90qU+Hu8TtQBUJgU5gjYuVaRfQijmVMuvqHCE+A57MhriImK9gKmtIRXSRVOiPzD75EflORp3CnNnv8GFdwr0Ywh41Ikr7iMuufZsNEkm8oSxwwgS2uc7wJpQtP1tw2Enj3vNP8flZQZWyA8mAGqmQ==; 20:NETpuisURR9LL+nNxSjfRN7spUsY4jl0rrzQBkl2FU2jNN5uaeHIWzv3mZ42beBrEbNVy0hPjvyYsjZfSn0N3kXzeRe35Y7eqmZktKs54mTBr/GNjG1Q16/FEilYeuQ00AL2apb4wGPqQN3mzLAENXthteCmI0qKHTgmA6v8jQo= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB5PR08MB1142; nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(102415321)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6055026); SRVR:DB5PR08MB1142; BCL:0; PCL:0; RULEID:; SRVR:DB5PR08MB1142; x-forefront-prvs: 0972DEC1D9 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(7916002)(189002)(199003)(377424004)(77096005)(2501003)(6116002)(102836003)(3846002)(10400500002)(2900100001)(92566002)(101416001)(189998001)(33656002)(97736004)(5008740100001)(19580395003)(5003600100002)(19580405001)(5002640100001)(110136002)(4326007)(586003)(5004730100002)(81166006)(8676002)(76576001)(81156014)(8936002)(74316001)(450100001)(122556002)(9686002)(2906002)(66066001)(11100500001)(106116001)(3280700002)(86362001)(50986999)(3660700001)(106356001)(68736007)(105586002)(54356999)(87936001)(229853001)(99936001)(2351001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB5PR08MB1142; H:DB5PR08MB1144.eurprd08.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jun 2016 09:54:53.8343 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB1142 X-MC-Unique: bhK0R6GzMG-zvubgk4Si8w-1 X-IsSubscribed: yes Hi, This is an obvious change which checks if gimple seq is empty before inserting it. I built spec2k6 and found the gimple seq in most (if not all) cases is empty, we can save a function call here. Build on x86_64. Thanks, bin 2016-05-17 Bin Cheng * tree-vect-loop.c (vect_create_epilog_for_reduction): Only insert gimple seq if it's not empty. diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index d673c67..0aad964 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -4373,7 +4373,9 @@ vect_create_epilog_for_reduction (vec vect_defs, gimple *stmt, gimple_seq stmts; vec_init_def = force_gimple_operand (vec_initial_defs[i], &stmts, true, NULL_TREE); - gsi_insert_seq_on_edge_immediate (loop_preheader_edge (loop), stmts); + if (stmts) + gsi_insert_seq_on_edge_immediate (loop_preheader_edge (loop), stmts); + def = vect_defs[i]; for (j = 0; j < ncopies; j++) {