From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 110583 invoked by alias); 28 Mar 2017 12:01:27 -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 110553 invoked by uid 89); 28 Mar 2017 12:01:24 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.4 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=Bin, H*MI:sk:VI1PR08, H*c:HHH X-HELO: EUR01-DB5-obe.outbound.protection.outlook.com Received: from mail-db5eur01on0072.outbound.protection.outlook.com (HELO EUR01-DB5-obe.outbound.protection.outlook.com) (104.47.2.72) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 28 Mar 2017 12:01:22 +0000 Received: from VI1PR0802MB2176.eurprd08.prod.outlook.com (10.172.12.21) by VI1PR0802MB2173.eurprd08.prod.outlook.com (10.172.12.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.991.14; Tue, 28 Mar 2017 12:01:20 +0000 Received: from VI1PR0802MB2176.eurprd08.prod.outlook.com ([10.172.12.21]) by VI1PR0802MB2176.eurprd08.prod.outlook.com ([10.172.12.21]) with mapi id 15.01.0991.018; Tue, 28 Mar 2017 12:01:20 +0000 From: Bin Cheng To: "gcc-patches@gcc.gnu.org" CC: nd Subject: [PATCH 01/2]Maintain irreducible region information in vectorizer peeling Date: Tue, 28 Mar 2017 12:01:00 -0000 Message-ID: authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; x-microsoft-exchange-diagnostics: 1;VI1PR0802MB2173;7:WxtkyxumUhquebOEi3F55Uc1WIy1Qh/mVUaFjDzzby5SrnCmi5MlEjiJ8SpoEeZaXJ0e3JfLE3Q7XkONB1tx/LG92oys3zOnz6zJz18kZV4CiwwFSW95VMiwnjyojroZv7It1YAYo3k8voYFCoqsNo7M1HtGZPJzf7Unf16SL+dWThApiGH59/eqXSHmEKB2ourtY3bFwqs/DRZeHsyMij1zM6b++AUwjbimF865ayDzJWyAMrf46cniLVwPCxvDtW3r9l6RAqtmCyfaPiP1MGavIE5j73jk/ALJALvoNNfY/roI0zP3jQ1Ip7jV3N/NH1BZaQ8ZgswuLnmp5dhtZg== x-ms-office365-filtering-correlation-id: ae5c5588-3c36-4826-c515-08d475d225cb x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254075)(48565401081)(201703131423060)(201703031133066)(201702281549060);SRVR:VI1PR0802MB2173; nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(102415395)(6040435)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026)(6041248)(20161123558025)(20161123555025)(201703131423060)(201702281528060)(201703061421060)(201703061406060)(20161123562025)(20161123560025)(20161123564025)(6072148);SRVR:VI1PR0802MB2173;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0802MB2173; x-forefront-prvs: 0260457E99 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(39860400002)(39840400002)(39450400003)(39410400002)(39400400002)(39850400002)(377424004)(4326008)(99286003)(38730400002)(110136004)(55016002)(53936002)(122556002)(5640700003)(81166006)(8676002)(50986999)(54356999)(8936002)(9686003)(25786009)(33656002)(189998001)(99936001)(66066001)(6116002)(3846002)(102836003)(74316002)(2900100001)(6436002)(2501003)(3280700002)(3660700001)(2906002)(2351001)(6506006)(5660300001)(86362001)(305945005)(7696004)(7736002)(6916009)(77096006);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR0802MB2173;H:VI1PR0802MB2176.eurprd08.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: multipart/mixed; boundary="_002_VI1PR0802MB21769C4B77294F7B91499D03E7320VI1PR0802MB2176_" MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2017 12:01:20.1593 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2173 X-IsSubscribed: yes X-SW-Source: 2017-03/txt/msg01441.txt.bz2 --_002_VI1PR0802MB21769C4B77294F7B91499D03E7320VI1PR0802MB2176_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-length: 1045 Hi, This patch fixes a latent bug in vectorizer, specifically, vect_do_peeling = doesn't mark newly created edge with irreducible flag if the vectorized loop is in irreducible region. Fun= ction checking_verify_loop_structure needs to be explicitly called in vectorizer otherwise the issue is covered,= but I am okay if we should avoid this call. Bootstrap and test on x86_64 and AArch64. This patch causes new failure in= gcc.dg/tree-ssa/pr71077.c, which uncovers another latent bug in vectorizer. That will be fixed by nex= t patch. Is this OK? 2017-03-27 Bin Cheng * tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and mark new edge's irreducible flag accordign to it. (vect_do_peeling): Check loop preheader edge's irreducible flag and pass it to function slpeel_add_loop_guard. * tree-vectorizer.c (vectorize_loops): Explicitly call function checking_verify_loop_structure. gcc/testsuite/ChangeLog 2017-03-27 Bin Cheng * gcc.c-torture/compile/irreducible-loop.c: New.= --_002_VI1PR0802MB21769C4B77294F7B91499D03E7320VI1PR0802MB2176_ Content-Type: text/plain; name="irreducible-loop-20170327.txt" Content-Description: irreducible-loop-20170327.txt Content-Disposition: attachment; filename="irreducible-loop-20170327.txt"; size=4354; creation-date="Tue, 28 Mar 2017 11:59:40 GMT"; modification-date="Tue, 28 Mar 2017 11:59:40 GMT" Content-Transfer-Encoding: base64 Content-length: 5905 ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmMtdG9ydHVyZS9jb21w aWxlL2lycmVkdWNpYmxlLWxvb3AuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmMt dG9ydHVyZS9jb21waWxlL2lycmVkdWNpYmxlLWxvb3AuYwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGJlNjY3Ci0tLSAvZGV2L251 bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuYy10b3J0dXJlL2NvbXBpbGUv aXJyZWR1Y2libGUtbG9vcC5jCkBAIC0wLDAgKzEsMjEgQEAKK3ZvaWQgZm9v IChpbnQgbiwgZG91YmxlIGEsIGRvdWJsZSAqYiwgZG91YmxlICp4KQorewor ICBpbnQgaSwgajsKKworICBpZihuIDw9IDApIHJldHVybjsKKyAgaWYgKGEg PT0gMC4wZTApIHJldHVybjsKKworICBpZiAoYSA+IDUuMCkKKyAgICB7Cisg ICAgICBpID0gMDsKKyAgICAgIGdvdG8gc2VjOworICAgIH0KKyAgZm9yIChp ID0gMDsgaSA8IDEwMjQ7IGkrKykKKyAgICB7CisgICAgICBkb3VibGUgeSA9 IGJbaV07CitzZWM6CisgICAgICBiW2krMV0gPSB5ICsgNS4wOworICAgICAg Zm9yIChqID0gMDsgaiA8IG47IGorKykKKwl4W2pdID0geFtqXSArIGE7Cisg ICAgfQorfQpkaWZmIC0tZ2l0IGEvZ2NjL3RyZWUtdmVjdC1sb29wLW1hbmlw LmMgYi9nY2MvdHJlZS12ZWN0LWxvb3AtbWFuaXAuYwppbmRleCAyZjgyMDYx Li5mNDgzMzZiIDEwMDY0NAotLS0gYS9nY2MvdHJlZS12ZWN0LWxvb3AtbWFu aXAuYworKysgYi9nY2MvdHJlZS12ZWN0LWxvb3AtbWFuaXAuYwpAQCAtNTM0 LDEyICs1MzQsMTMgQEAgc2xwZWVsX3RyZWVfZHVwbGljYXRlX2xvb3BfdG9f ZWRnZV9jZmcgKHN0cnVjdCBsb29wICpsb29wLAogLyogR2l2ZW4gdGhlIGNv bmRpdGlvbiBleHByZXNzaW9uIENPTkQsIHB1dCBpdCBhcyB0aGUgbGFzdCBz dGF0ZW1lbnQgb2YKICAgIEdVQVJEX0JCOyBzZXQgYm90aCBlZGdlcycgcHJv YmFiaWxpdHk7IHNldCBkb21pbmF0b3Igb2YgR1VBUkRfVE8gdG8KICAgIERP TV9CQjsgcmV0dXJuIHRoZSBza2lwIGVkZ2UuICBHVUFSRF9UTyBpcyB0aGUg dGFyZ2V0IGJhc2ljIGJsb2NrIHRvCi0gICBza2lwIHRoZSBsb29wLiAgUFJP QkFCSUxJVFkgaXMgdGhlIHNraXAgZWRnZSdzIHByb2JhYmlsaXR5LiAgKi8K KyAgIHNraXAgdGhlIGxvb3AuICBQUk9CQUJJTElUWSBpcyB0aGUgc2tpcCBl ZGdlJ3MgcHJvYmFiaWxpdHkuICBNYXJrIHRoZQorICAgbmV3IGVkZ2UgYXMg aXJyZWR1Y2libGUgaWYgSVJSRURVQ0lCTEVfUCBpcyB0cnVlLiAgKi8KIAog c3RhdGljIGVkZ2UKIHNscGVlbF9hZGRfbG9vcF9ndWFyZCAoYmFzaWNfYmxv Y2sgZ3VhcmRfYmIsIHRyZWUgY29uZCwKIAkJICAgICAgIGJhc2ljX2Jsb2Nr IGd1YXJkX3RvLCBiYXNpY19ibG9jayBkb21fYmIsCi0JCSAgICAgICBpbnQg cHJvYmFiaWxpdHkpCisJCSAgICAgICBpbnQgcHJvYmFiaWxpdHksIGJvb2wg aXJyZWR1Y2libGVfcCkKIHsKICAgZ2ltcGxlX3N0bXRfaXRlcmF0b3IgZ3Np OwogICBlZGdlIG5ld19lLCBlbnRlcl9lOwpAQCAtNTY2LDYgKzU2Nyw5IEBA IHNscGVlbF9hZGRfbG9vcF9ndWFyZCAoYmFzaWNfYmxvY2sgZ3VhcmRfYmIs IHRyZWUgY29uZCwKICAgbmV3X2UtPmNvdW50ID0gZ3VhcmRfYmItPmNvdW50 OwogICBuZXdfZS0+cHJvYmFiaWxpdHkgPSBwcm9iYWJpbGl0eTsKICAgbmV3 X2UtPmNvdW50ID0gYXBwbHlfcHJvYmFiaWxpdHkgKGVudGVyX2UtPmNvdW50 LCBwcm9iYWJpbGl0eSk7CisgIGlmIChpcnJlZHVjaWJsZV9wKQorICAgIG5l d19lLT5mbGFncyB8PSBFREdFX0lSUkVEVUNJQkxFX0xPT1A7CisKICAgZW50 ZXJfZS0+Y291bnQgLT0gbmV3X2UtPmNvdW50OwogICBlbnRlcl9lLT5wcm9i YWJpbGl0eSA9IGludmVyc2VfcHJvYmFiaWxpdHkgKHByb2JhYmlsaXR5KTsK ICAgc2V0X2ltbWVkaWF0ZV9kb21pbmF0b3IgKENESV9ET01JTkFUT1JTLCBn dWFyZF90bywgZG9tX2JiKTsKQEAgLTE2NjcsNiArMTY3MSw3IEBAIHZlY3Rf ZG9fcGVlbGluZyAobG9vcF92ZWNfaW5mbyBsb29wX3ZpbmZvLCB0cmVlIG5p dGVycywgdHJlZSBuaXRlcnNtMSwKIAogICBzdHJ1Y3QgbG9vcCAqcHJvbG9n LCAqZXBpbG9nID0gTlVMTCwgKmxvb3AgPSBMT09QX1ZJTkZPX0xPT1AgKGxv b3BfdmluZm8pOwogICBzdHJ1Y3QgbG9vcCAqZmlyc3RfbG9vcCA9IGxvb3A7 CisgIGJvb2wgaXJyZWRfZmxhZyA9IGxvb3BfcHJlaGVhZGVyX2VkZ2UgKGxv b3ApLT5mbGFncyAmIEVER0VfSVJSRURVQ0lCTEVfTE9PUDsKICAgY3JlYXRl X2xjc3NhX2Zvcl92aXJ0dWFsX3BoaSAobG9vcCk7CiAgIHVwZGF0ZV9zc2Eg KFRPRE9fdXBkYXRlX3NzYV9vbmx5X3ZpcnR1YWxzKTsKIApAQCAtMTc0OCw3 ICsxNzUzLDggQEAgdmVjdF9kb19wZWVsaW5nIChsb29wX3ZlY19pbmZvIGxv b3BfdmluZm8sIHRyZWUgbml0ZXJzLCB0cmVlIG5pdGVyc20xLAogCSAgZ3Vh cmRfdG8gPSBzcGxpdF9lZGdlIChsb29wX3ByZWhlYWRlcl9lZGdlIChsb29w KSk7CiAJICBndWFyZF9lID0gc2xwZWVsX2FkZF9sb29wX2d1YXJkIChndWFy ZF9iYiwgZ3VhcmRfY29uZCwKIAkJCQkJICAgZ3VhcmRfdG8sIGd1YXJkX2Ji LAotCQkJCQkgICBpbnZlcnNlX3Byb2JhYmlsaXR5IChwcm9iX3Byb2xvZykp OworCQkJCQkgICBpbnZlcnNlX3Byb2JhYmlsaXR5IChwcm9iX3Byb2xvZyks CisJCQkJCSAgIGlycmVkX2ZsYWcpOwogCSAgZSA9IEVER0VfUFJFRCAoZ3Vh cmRfdG8sIDApOwogCSAgZSA9IChlICE9IGd1YXJkX2UgPyBlIDogRURHRV9Q UkVEIChndWFyZF90bywgMSkpOwogCSAgc2xwZWVsX3VwZGF0ZV9waGlfbm9k ZXNfZm9yX2d1YXJkMSAocHJvbG9nLCBsb29wLCBndWFyZF9lLCBlKTsKQEAg LTE4MTMsNyArMTgxOSw4IEBAIHZlY3RfZG9fcGVlbGluZyAobG9vcF92ZWNf aW5mbyBsb29wX3ZpbmZvLCB0cmVlIG5pdGVycywgdHJlZSBuaXRlcnNtMSwK IAkgIGd1YXJkX3RvID0gc3BsaXRfZWRnZSAobG9vcF9wcmVoZWFkZXJfZWRn ZSAoZXBpbG9nKSk7CiAJICBndWFyZF9lID0gc2xwZWVsX2FkZF9sb29wX2d1 YXJkIChndWFyZF9iYiwgZ3VhcmRfY29uZCwKIAkJCQkJICAgZ3VhcmRfdG8s IGd1YXJkX2JiLAotCQkJCQkgICBpbnZlcnNlX3Byb2JhYmlsaXR5IChwcm9i X3ZlY3RvcikpOworCQkJCQkgICBpbnZlcnNlX3Byb2JhYmlsaXR5IChwcm9i X3ZlY3RvciksCisJCQkJCSAgIGlycmVkX2ZsYWcpOwogCSAgZSA9IEVER0Vf UFJFRCAoZ3VhcmRfdG8sIDApOwogCSAgZSA9IChlICE9IGd1YXJkX2UgPyBl IDogRURHRV9QUkVEIChndWFyZF90bywgMSkpOwogCSAgc2xwZWVsX3VwZGF0 ZV9waGlfbm9kZXNfZm9yX2d1YXJkMSAoZmlyc3RfbG9vcCwgZXBpbG9nLCBn dWFyZF9lLCBlKTsKQEAgLTE4NTMsNyArMTg2MCw4IEBAIHZlY3RfZG9fcGVl bGluZyAobG9vcF92ZWNfaW5mbyBsb29wX3ZpbmZvLCB0cmVlIG5pdGVycywg dHJlZSBuaXRlcnNtMSwKIAkgIGd1YXJkX3RvID0gc3BsaXRfZWRnZSAoc2lu Z2xlX2V4aXQgKGVwaWxvZykpOwogCSAgZ3VhcmRfZSA9IHNscGVlbF9hZGRf bG9vcF9ndWFyZCAoZ3VhcmRfYmIsIGd1YXJkX2NvbmQsIGd1YXJkX3RvLAog CQkJCQkgICBza2lwX3ZlY3RvciA/IGFuY2hvciA6IGd1YXJkX2JiLAotCQkJ CQkgICBpbnZlcnNlX3Byb2JhYmlsaXR5IChwcm9iX2VwaWxvZykpOworCQkJ CQkgICBpbnZlcnNlX3Byb2JhYmlsaXR5IChwcm9iX2VwaWxvZyksCisJCQkJ CSAgIGlycmVkX2ZsYWcpOwogCSAgc2xwZWVsX3VwZGF0ZV9waGlfbm9kZXNf Zm9yX2d1YXJkMiAobG9vcCwgZXBpbG9nLCBndWFyZF9lLAogCQkJCQkgICAg ICBzaW5nbGVfZXhpdCAoZXBpbG9nKSk7CiAJICAvKiBPbmx5IG5lZWQgdG8g aGFuZGxlIGJhc2ljIGJsb2NrIGJlZm9yZSBlcGlsb2cgbG9vcCBpZiBpdCdz IG5vdApkaWZmIC0tZ2l0IGEvZ2NjL3RyZWUtdmVjdG9yaXplci5jIGIvZ2Nj L3RyZWUtdmVjdG9yaXplci5jCmluZGV4IGY5MjhkZWMuLjRlOWI5MGQgMTAw NjQ0Ci0tLSBhL2djYy90cmVlLXZlY3Rvcml6ZXIuYworKysgYi9nY2MvdHJl ZS12ZWN0b3JpemVyLmMKQEAgLTc4MSw2ICs3ODEsNyBAQCB2ZWN0b3JpemVf bG9vcHMgKHZvaWQpCiAJID8/PyAgQWxzbyB3aGlsZSB3ZSB0cnkgaGFyZCB0 byB1cGRhdGUgbG9vcC1jbG9zZWQgU1NBIGZvcm0gd2UgZmFpbAogCSB0byBw cm9wZXJseSBkbyB0aGlzIGluIHNvbWUgY29ybmVyLWNhc2VzIChzZWUgUFI1 NjI4NikuICAqLwogICAgICAgcmV3cml0ZV9pbnRvX2xvb3BfY2xvc2VkX3Nz YSAoTlVMTCwgVE9ET191cGRhdGVfc3NhX29ubHlfdmlydHVhbHMpOworICAg ICAgY2hlY2tpbmdfdmVyaWZ5X2xvb3Bfc3RydWN0dXJlICgpOwogICAgICAg cmV0dXJuIFRPRE9fY2xlYW51cF9jZmc7CiAgICAgfQogCg== --_002_VI1PR0802MB21769C4B77294F7B91499D03E7320VI1PR0802MB2176_--