From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 70802 invoked by alias); 29 Nov 2017 10:38:22 -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 70776 invoked by uid 89); 29 Nov 2017 10:38:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.5 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_SHORT,KB_WAM_FROM_NAME_SINGLEWORD,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=literally X-HELO: mail-io0-f170.google.com Received: from mail-io0-f170.google.com (HELO mail-io0-f170.google.com) (209.85.223.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 29 Nov 2017 10:38:19 +0000 Received: by mail-io0-f170.google.com with SMTP id w127so3186034iow.11 for ; Wed, 29 Nov 2017 02:38:19 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=V1OUApiWbdkIV+z0gOeyHF8f/FXjkNdSq4A+F1dmeYA=; b=nu5dO2Vb/ml2G5SL18NSOFNXxaw+jfjhyyjsl0Z4YJfFiKxVEaYaWKLAOM/WaPZnEc y7hR36okZgBo9rHFfQk+KdJ06w7HVN+6b2iv5aGsyXRd7PrtOSNcBQj4n8DRaCeRpUlB zNR9DeeNwEBcVrmbSjKndWg11DF92NlMaadjPuoOQEeGNBfk7uMCTRKgtpVNJnzIhmN7 yyRnERX6yMNqTrMuUn8NR/uFxp+FEQxq9NWNYP4YbczzmmWWJWa7CC3ePUGrYq9nTcW4 lTFU7jNIMVvoODkBLtQ900CQFSANVgU60N6yHbNhaJR9kE8San+iBgBTaugGLnvk5JXi bmyA== X-Gm-Message-State: AJaThX6uuLPnZ1DYX5zUTE3V0hBairEfDRrEg2+RA9Y/d5Iq8HSSe2NY 9jfbA/3w7GaU+yT2jkFHPJZSb4PGDrMMkwucABQ= X-Google-Smtp-Source: AGs4zMbZiQhjBfkaHVqT/mQrhgYP0s5bZim5dFoPoicQgKHCKXElv6gC3LUYrjTGTlWjeQqsq9dor4s4JV1+HqgSuOc= X-Received: by 10.107.69.1 with SMTP id s1mr2074516ioa.121.1511951897702; Wed, 29 Nov 2017 02:38:17 -0800 (PST) MIME-Version: 1.0 Received: by 10.2.153.51 with HTTP; Wed, 29 Nov 2017 02:38:16 -0800 (PST) In-Reply-To: References: From: "Bin.Cheng" Date: Wed, 29 Nov 2017 11:58:00 -0000 Message-ID: Subject: Re: [PATCH GCC]Rename and make remove_dead_inserted_code a simple dce interface To: Richard Biener Cc: "gcc-patches@gcc.gnu.org" Content-Type: multipart/mixed; boundary="089e08284f88c7d74c055f1cbb88" X-IsSubscribed: yes X-SW-Source: 2017-11/txt/msg02492.txt.bz2 --089e08284f88c7d74c055f1cbb88 Content-Type: text/plain; charset="UTF-8" Content-length: 1749 On Wed, Nov 29, 2017 at 10:02 AM, Richard Biener wrote: > On Tue, Nov 28, 2017 at 3:48 PM, Bin Cheng wrote: >> Hi, >> This patch renames remove_dead_inserted_code to simple_dce_from_worklist, moves it to tree-ssa-dce.c >> and makes it a simple public DCE interface. Bootstrap and test along with loop interchange. It's required >> for interchange pass. Is it OK? > > + /* ??? Re-use seeds as worklist not only as initial set. This may end up > + removing more code as well. If we keep seeds unchanged we could restrict > + new worklist elements to members of seed. */ > > Please remove this comment, while it applies to PRE when one takes > remove_dead_inserted_code > literally it doesn't apply to a seeded DCE. > > Please also rename 'seeds' to 'worklist' directly and document that > worklist is consumed by the function. > The function has linear complexity in the number of dead stmts, the > constant factor is the number of > SSA use operands in those stmts (so 2 on average I'd say). > > Ok with that change. Updated, will commit new patch as attached. Thanks, bin > > Thanks, > Richard. > >> BTW, I will push this along with interchange to branch: gcc.gnu.org/svn/gcc/branches/gimple-linterchange. >> >> Thanks, >> bin >> 2017-11-27 Bin Cheng >> >> * tree-ssa-dce.c (simple_dce_from_worklist): Move and rename from >> tree-ssa-pre.c::remove_dead_inserted_code. >> * tree-ssa-dce.h: New file. >> * tree-ssa-pre.c (tree-ssa-dce.h): Include new header file. >> (remove_dead_inserted_code): Move and rename to function >> tree-ssa-dce.c::simple_dce_from_worklist. >> (pass_pre::execute): Update use. --089e08284f88c7d74c055f1cbb88 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-simple-dce-interface.patch" Content-Disposition: attachment; filename="0001-simple-dce-interface.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jakx46h40 Content-length: 8122 RnJvbSAyMTlmNDI2MjViODllYjgxZTJiZWI2NjA1YzlkNTk0ZTgzZWQ1MDQ4 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBhbWtlciA8YW1rZXJA YW1rZXItbGFwdG9wLihub25lKT4KRGF0ZTogU3VuLCAyNiBOb3YgMjAxNyAy MDo1NjoxOSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvNDFdIHNpbXBsZS1k Y2UtaW50ZXJmYWNlCgotLS0KIGdjYy90cmVlLXNzYS1kY2UuYyB8IDUyICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZ2Nj L3RyZWUtc3NhLWRjZS5oIHwgMjIgKysrKysrKysrKysrKysrKysrCiBnY2Mv dHJlZS1zc2EtcHJlLmMgfCA2NyArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdl ZCwgODIgaW5zZXJ0aW9ucygrKSwgNTkgZGVsZXRpb25zKC0pCiBjcmVhdGUg bW9kZSAxMDA2NDQgZ2NjL3RyZWUtc3NhLWRjZS5oCgpkaWZmIC0tZ2l0IGEv Z2NjL3RyZWUtc3NhLWRjZS5jIGIvZ2NjL3RyZWUtc3NhLWRjZS5jCmluZGV4 IGE1ZjBlZGYuLjg1OTVkZWMgMTAwNjQ0Ci0tLSBhL2djYy90cmVlLXNzYS1k Y2UuYworKysgYi9nY2MvdHJlZS1zc2EtZGNlLmMKQEAgLTE3MjMsMyArMTcy Myw1NSBAQCBtYWtlX3Bhc3NfY2RfZGNlIChnY2M6OmNvbnRleHQgKmN0eHQp CiB7CiAgIHJldHVybiBuZXcgcGFzc19jZF9kY2UgKGN0eHQpOwogfQorCisK Ky8qIEEgY2hlYXAgRENFIGludGVyZmFjZS4gIFdPUktMSVNUIGlzIGEgbGlz dCBvZiBwb3NzaWJseSBkZWFkIHN0bXRzIGFuZAorICAgaXMgY29uc3VtZWQg YnkgdGhpcyBmdW5jdGlvbi4gIFRoZSBmdW5jdGlvbiBoYXMgbGluZWFyIGNv bXBsZXhpdHkgaW4KKyAgIHRoZSBudW1iZXIgb2YgZGVhZCBzdG10cyB3aXRo IGEgY29uc3RhbnQgZmFjdG9yIGxpa2UgdGhlIGF2ZXJhZ2UgU1NBCisgICB1 c2Ugb3BlcmFuZHMgbnVtYmVyLiAgKi8KKwordm9pZAorc2ltcGxlX2RjZV9m cm9tX3dvcmtsaXN0IChiaXRtYXAgd29ya2xpc3QpCit7CisgIHdoaWxlICgh IGJpdG1hcF9lbXB0eV9wICh3b3JrbGlzdCkpCisgICAgeworICAgICAgLyog UG9wIGl0ZW0uICAqLworICAgICAgdW5zaWduZWQgaSA9IGJpdG1hcF9maXJz dF9zZXRfYml0ICh3b3JrbGlzdCk7CisgICAgICBiaXRtYXBfY2xlYXJfYml0 ICh3b3JrbGlzdCwgaSk7CisKKyAgICAgIHRyZWUgZGVmID0gc3NhX25hbWUg KGkpOworICAgICAgLyogUmVtb3ZlZCBieSBzb21lYm9keSBlbHNlIG9yIHN0 aWxsIGluIHVzZS4gICovCisgICAgICBpZiAoISBkZWYgfHwgISBoYXNfemVy b191c2VzIChkZWYpKQorCWNvbnRpbnVlOworCisgICAgICBnaW1wbGUgKnQg PSBTU0FfTkFNRV9ERUZfU1RNVCAoZGVmKTsKKyAgICAgIGlmIChnaW1wbGVf aGFzX3NpZGVfZWZmZWN0cyAodCkpCisJY29udGludWU7CisKKyAgICAgIC8q IEFkZCB1c2VzIHRvIHRoZSB3b3JrbGlzdC4gICovCisgICAgICBzc2Ffb3Bf aXRlciBpdGVyOworICAgICAgdXNlX29wZXJhbmRfcCB1c2VfcDsKKyAgICAg IEZPUl9FQUNIX1BISV9PUl9TVE1UX1VTRSAodXNlX3AsIHQsIGl0ZXIsIFNT QV9PUF9VU0UpCisJeworCSAgdHJlZSB1c2UgPSBVU0VfRlJPTV9QVFIgKHVz ZV9wKTsKKwkgIGlmIChUUkVFX0NPREUgKHVzZSkgPT0gU1NBX05BTUUKKwkg ICAgICAmJiAhIFNTQV9OQU1FX0lTX0RFRkFVTFRfREVGICh1c2UpKQorCSAg ICBiaXRtYXBfc2V0X2JpdCAod29ya2xpc3QsIFNTQV9OQU1FX1ZFUlNJT04g KHVzZSkpOworCX0KKworICAgICAgLyogUmVtb3ZlIHN0bXQuICAqLworICAg ICAgaWYgKGR1bXBfZmlsZSAmJiAoZHVtcF9mbGFncyAmIFRERl9ERVRBSUxT KSkKKwl7CisJICBmcHJpbnRmIChkdW1wX2ZpbGUsICJSZW1vdmluZyBkZWFk IHN0bXQ6Iik7CisJICBwcmludF9naW1wbGVfc3RtdCAoZHVtcF9maWxlLCB0 LCAwKTsKKwl9CisgICAgICBnaW1wbGVfc3RtdF9pdGVyYXRvciBnc2kgPSBn c2lfZm9yX3N0bXQgKHQpOworICAgICAgaWYgKGdpbXBsZV9jb2RlICh0KSA9 PSBHSU1QTEVfUEhJKQorCXJlbW92ZV9waGlfbm9kZSAoJmdzaSwgdHJ1ZSk7 CisgICAgICBlbHNlCisJeworCSAgZ3NpX3JlbW92ZSAoJmdzaSwgdHJ1ZSk7 CisJICByZWxlYXNlX2RlZnMgKHQpOworCX0KKyAgICB9Cit9CmRpZmYgLS1n aXQgYS9nY2MvdHJlZS1zc2EtZGNlLmggYi9nY2MvdHJlZS1zc2EtZGNlLmgK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmFkYjA4Ngot LS0gL2Rldi9udWxsCisrKyBiL2djYy90cmVlLXNzYS1kY2UuaApAQCAtMCww ICsxLDIyIEBACisvKiBDb3B5cmlnaHQgKEMpIDIwMTcgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCisKK1RoaXMgZmlsZSBpcyBwYXJ0IG9mIEdD Qy4KKworR0NDIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKK3VuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 IHRoZQorRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAzLCBvciAoYXQgeW91ciBvcHRpb24pIGFueQorbGF0ZXIgdmVyc2lvbi4K KworR0NDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCitBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJ VFkgb3IKK0ZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorZm9yIG1vcmUgZGV0 YWlscy4KKworWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKK2Fsb25nIHdpdGggR0ND OyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCis8aHR0cDov L3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisjaWZuZGVmIFRSRUVf U1NBX0RDRV9ICisjZGVmaW5lIFRSRUVfU1NBX0RDRV9ICitleHRlcm4gdm9p ZCBzaW1wbGVfZGNlX2Zyb21fd29ya2xpc3QgKGJpdG1hcCk7CisjZW5kaWYK ZGlmZiAtLWdpdCBhL2djYy90cmVlLXNzYS1wcmUuYyBiL2djYy90cmVlLXNz YS1wcmUuYwppbmRleCAyODFmMTAwLi5jMTlkNDg2IDEwMDY0NAotLS0gYS9n Y2MvdHJlZS1zc2EtcHJlLmMKKysrIGIvZ2NjL3RyZWUtc3NhLXByZS5jCkBA IC00OSw2ICs0OSw3IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUg Q09QWUlORzMuICBJZiBub3Qgc2VlCiAjaW5jbHVkZSAiZGJnY250LmgiCiAj aW5jbHVkZSAiZG9td2Fsay5oIgogI2luY2x1ZGUgInRyZWUtc3NhLXByb3Bh Z2F0ZS5oIgorI2luY2x1ZGUgInRyZWUtc3NhLWRjZS5oIgogI2luY2x1ZGUg InRyZWUtY2ZnY2xlYW51cC5oIgogI2luY2x1ZGUgImFsaWFzLmgiCiAKQEAg LTQwMzgsNjQgKzQwMzksNiBAQCBjb21wdXRlX2F2YWlsICh2b2lkKQogICBm cmVlICh3b3JrbGlzdCk7CiB9CiAKLS8qIENoZWFwIERDRSBvZiBhIGtub3du IHNldCBvZiBwb3NzaWJseSBkZWFkIHN0bXRzLgotCi0gICBCZWNhdXNlIHdl IGRvbid0IGZvbGxvdyBleGFjdGx5IHRoZSBzdGFuZGFyZCBQUkUgYWxnb3Jp dGhtLCBhbmQgZGVjaWRlIG5vdAotICAgdG8gaW5zZXJ0IFBISSBub2RlcyBz b21ldGltZXMsIGFuZCBiZWNhdXNlIHZhbHVlIG51bWJlcmluZyBvZiBjYXN0 cyBpc24ndAotICAgcGVyZmVjdCwgd2Ugc29tZXRpbWVzIGVuZCB1cCBpbnNl cnRpbmcgZGVhZCBjb2RlLiAgIFRoaXMgc2ltcGxlIERDRS1saWtlCi0gICBw YXNzIHJlbW92ZXMgYW55IGluc2VydGlvbnMgd2UgbWFkZSB0aGF0IHdlcmVu J3QgYWN0dWFsbHkgdXNlZC4gICovCi0KLXN0YXRpYyB2b2lkCi1yZW1vdmVf ZGVhZF9pbnNlcnRlZF9jb2RlICh2b2lkKQotewotICAvKiA/Pz8gIFJlLXVz ZSBpbnNlcnRlZF9leHBycyBhcyB3b3JrbGlzdCBub3Qgb25seSBhcyBpbml0 aWFsIHNldC4KLSAgICAgVGhpcyBtYXkgZW5kIHVwIHJlbW92aW5nIG5vbi1p bnNlcnRlZCBjb2RlIGFzIHdlbGwuICBJZiB3ZQotICAgICBrZWVwIGluc2Vy dGVkX2V4cHJzIHVuY2hhbmdlZCB3ZSBjb3VsZCByZXN0cmljdCBuZXcgd29y a2xpc3QKLSAgICAgZWxlbWVudHMgdG8gbWVtYmVycyBvZiBpbnNlcnRlZF9l eHBycy4gICovCi0gIGJpdG1hcCB3b3JrbGlzdCA9IGluc2VydGVkX2V4cHJz OwotICB3aGlsZSAoISBiaXRtYXBfZW1wdHlfcCAod29ya2xpc3QpKQotICAg IHsKLSAgICAgIC8qIFBvcCBpdGVtLiAgKi8KLSAgICAgIHVuc2lnbmVkIGkg PSBiaXRtYXBfZmlyc3Rfc2V0X2JpdCAod29ya2xpc3QpOwotICAgICAgYml0 bWFwX2NsZWFyX2JpdCAod29ya2xpc3QsIGkpOwotCi0gICAgICB0cmVlIGRl ZiA9IHNzYV9uYW1lIChpKTsKLSAgICAgIC8qIFJlbW92ZWQgYnkgc29tZWJv ZHkgZWxzZSBvciBzdGlsbCBpbiB1c2UuICAqLwotICAgICAgaWYgKCEgZGVm IHx8ICEgaGFzX3plcm9fdXNlcyAoZGVmKSkKLQljb250aW51ZTsKLQotICAg ICAgZ2ltcGxlICp0ID0gU1NBX05BTUVfREVGX1NUTVQgKGRlZik7Ci0gICAg ICBpZiAoZ2ltcGxlX2hhc19zaWRlX2VmZmVjdHMgKHQpKQotCWNvbnRpbnVl OwotCi0gICAgICAvKiBBZGQgdXNlcyB0byB0aGUgd29ya2xpc3QuICAqLwot ICAgICAgc3NhX29wX2l0ZXIgaXRlcjsKLSAgICAgIHVzZV9vcGVyYW5kX3Ag dXNlX3A7Ci0gICAgICBGT1JfRUFDSF9QSElfT1JfU1RNVF9VU0UgKHVzZV9w LCB0LCBpdGVyLCBTU0FfT1BfVVNFKQotCXsKLQkgIHRyZWUgdXNlID0gVVNF X0ZST01fUFRSICh1c2VfcCk7Ci0JICBpZiAoVFJFRV9DT0RFICh1c2UpID09 IFNTQV9OQU1FCi0JICAgICAgJiYgISBTU0FfTkFNRV9JU19ERUZBVUxUX0RF RiAodXNlKSkKLQkgICAgYml0bWFwX3NldF9iaXQgKHdvcmtsaXN0LCBTU0Ff TkFNRV9WRVJTSU9OICh1c2UpKTsKLQl9Ci0KLSAgICAgIC8qIFJlbW92ZSBz dG10LiAgKi8KLSAgICAgIGlmIChkdW1wX2ZpbGUgJiYgKGR1bXBfZmxhZ3Mg JiBUREZfREVUQUlMUykpCi0JewotCSAgZnByaW50ZiAoZHVtcF9maWxlLCAi UmVtb3ZpbmcgdW5uZWNlc3NhcnkgaW5zZXJ0aW9uOiIpOwotCSAgcHJpbnRf Z2ltcGxlX3N0bXQgKGR1bXBfZmlsZSwgdCwgMCk7Ci0JfQotICAgICAgZ2lt cGxlX3N0bXRfaXRlcmF0b3IgZ3NpID0gZ3NpX2Zvcl9zdG10ICh0KTsKLSAg ICAgIGlmIChnaW1wbGVfY29kZSAodCkgPT0gR0lNUExFX1BISSkKLQlyZW1v dmVfcGhpX25vZGUgKCZnc2ksIHRydWUpOwotICAgICAgZWxzZQotCXsKLQkg IGdzaV9yZW1vdmUgKCZnc2ksIHRydWUpOwotCSAgcmVsZWFzZV9kZWZzICh0 KTsKLQl9Ci0gICAgfQotfQotCiAKIC8qIEluaXRpYWxpemUgZGF0YSBzdHJ1 Y3R1cmVzIHVzZWQgYnkgUFJFLiAgKi8KIApAQCAtNDIzNCw3ICs0MTc3LDEz IEBAIHBhc3NfcHJlOjpleGVjdXRlIChmdW5jdGlvbiAqZnVuKQogICBjbGVh cl9leHByZXNzaW9uX2lkcyAoKTsKIAogICBzY2V2X2ZpbmFsaXplICgpOwot ICByZW1vdmVfZGVhZF9pbnNlcnRlZF9jb2RlICgpOworCisgIC8qIEJlY2F1 c2Ugd2UgZG9uJ3QgZm9sbG93IGV4YWN0bHkgdGhlIHN0YW5kYXJkIFBSRSBh bGdvcml0aG0sIGFuZCBkZWNpZGUgbm90CisgICAgIHRvIGluc2VydCBQSEkg bm9kZXMgc29tZXRpbWVzLCBhbmQgYmVjYXVzZSB2YWx1ZSBudW1iZXJpbmcg b2YgY2FzdHMgaXNuJ3QKKyAgICAgcGVyZmVjdCwgd2Ugc29tZXRpbWVzIGVu ZCB1cCBpbnNlcnRpbmcgZGVhZCBjb2RlLiAgIFRoaXMgc2ltcGxlIERDRS1s aWtlCisgICAgIHBhc3MgcmVtb3ZlcyBhbnkgaW5zZXJ0aW9ucyB3ZSBtYWRl IHRoYXQgd2VyZW4ndCBhY3R1YWxseSB1c2VkLiAgKi8KKyAgc2ltcGxlX2Rj ZV9mcm9tX3dvcmtsaXN0IChpbnNlcnRlZF9leHBycyk7CisKICAgZmluaV9w cmUgKCk7CiAgIGxvb3Bfb3B0aW1pemVyX2ZpbmFsaXplICgpOwogCi0tIAox LjkuMQoK --089e08284f88c7d74c055f1cbb88--