From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 87708 invoked by alias); 13 Oct 2015 20:05:12 -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 87697 invoked by uid 89); 13 Oct 2015 20:05:10 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.3 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: nm10-vm5.bullet.mail.ne1.yahoo.com Received: from nm10-vm5.bullet.mail.ne1.yahoo.com (HELO nm10-vm5.bullet.mail.ne1.yahoo.com) (98.138.91.232) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Tue, 13 Oct 2015 20:05:09 +0000 Received: from [98.138.100.117] by nm10.bullet.mail.ne1.yahoo.com with NNFMP; 13 Oct 2015 20:05:07 -0000 Received: from [98.138.226.126] by tm108.bullet.mail.ne1.yahoo.com with NNFMP; 13 Oct 2015 20:05:07 -0000 Received: from [127.0.0.1] by smtp205.mail.ne1.yahoo.com with NNFMP; 13 Oct 2015 20:05:07 -0000 X-Yahoo-SMTP: RhyaqECswBCSKHdmagqyBBwGHjobejNv Message-ID: <561D63F2.2080705@yahoo.com> Date: Tue, 13 Oct 2015 20:05:00 -0000 From: Abe User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: "gcc-patches@gcc.gnu.org" , Sebastian Pop , Kyrill Tkachov , Bernd Schmidt Subject: using scratchpads to enhance RTL-level if-conversion: revised patch Content-Type: multipart/mixed; boundary="------------050807090308030204020606" X-SW-Source: 2015-10/txt/msg01294.txt.bz2 This is a multi-part message in MIME format. --------------050807090308030204020606 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 215 Attached please find my revised patch to enhance RTL-level if-conversion using scratchpads, newly optimizing only half-hammock stores for now. Bootstrapped and regression-tested on x86_64 GNU/Linux. Regards, Abe --------------050807090308030204020606 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="Abe_RTL_ifcvt_patch_1_v007.2___2015_Oct._13_.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Abe_RTL_ifcvt_patch_1_v007.2___2015_Oct._13_.patch" Content-length: 9089 LS0tIGlmY3Z0LmMJMjAxNS0wOS0wMSAxMjo1NDozOC4yMzQxMDgxNTggLTA1 MDAKKysrIGlmY3Z0LmMJMjAxNS0xMC0xMyAxNDoyMjoyNy45MzUyMDQ0NjEg LTA1MDAKQEAgLTU2LDYgKzU2LDggQEAKICNpbmNsdWRlICJydGwtaXRlci5o IgogI2luY2x1ZGUgImlmY3Z0LmgiCiAKKyNpbmNsdWRlIDx1dGlsaXR5Pgor CiAjaWZuZGVmIE1BWF9DT05ESVRJT05BTF9FWEVDVVRFCiAjZGVmaW5lIE1B WF9DT05ESVRJT05BTF9FWEVDVVRFIFwKICAgKEJSQU5DSF9DT1NUIChvcHRp bWl6ZV9mdW5jdGlvbl9mb3Jfc3BlZWRfcCAoY2Z1biksIGZhbHNlKSBcCkBA IC02Niw2ICs2OCw5IEBACiAKICNkZWZpbmUgTlVMTF9CTE9DSwkoKGJhc2lj X2Jsb2NrKSBOVUxMKQogCisvKiBBbiBhcmJpdHJhcnkgaW5jbHVzaXZlIG1h eGltdW0gc2l6ZSAoaW4gYnl0ZXMpIGZvciBlYWNoIHNjcmF0Y2hwYWQuICAq LworI2RlZmluZSBTQ1JBVENIUEFEX01BWF9TSVpFIDEyOAorCiAvKiBUcnVl IGlmIGFmdGVyIGNvbWJpbmUgcGFzcy4gICovCiBzdGF0aWMgYm9vbCBpZmN2 dF9hZnRlcl9jb21iaW5lOwogCkBAIC0xMTAsNiArMTE1LDggQEAgc3RhdGlj IGludCBkZWFkX29yX3ByZWRpY2FibGUgKGJhc2ljX2JsbwogCQkJICAgICAg IGVkZ2UsIGludCk7CiBzdGF0aWMgdm9pZCBub2NlX2VtaXRfbW92ZV9pbnNu IChydHgsIHJ0eCk7CiBzdGF0aWMgcnR4X2luc24gKmJsb2NrX2hhc19vbmx5 X3RyYXAgKGJhc2ljX2Jsb2NrKTsKKworc3RhdGljIGF1dG9fdmVjPHN0ZDo6 cGFpcjxydHgsIHVuc2lnbmVkIGludD4gPiBzY3JhdGNocGFkczsKIAwKIC8q IENvdW50IHRoZSBudW1iZXIgb2Ygbm9uLWp1bXAgYWN0aXZlIGluc25zIGlu IEJCLiAgKi8KIApAQCAtMjc4NCwxOSArMjc5MSwxNiBAQCBub2NlX29wZXJh bmRfb2sgKGNvbnN0X3J0eCBvcCkKICAgcmV0dXJuICEgbWF5X3RyYXBfcCAo b3ApOwogfQogCi0vKiBSZXR1cm4gdHJ1ZSBpZiBhIHdyaXRlIGludG8gTUVN IG1heSB0cmFwIG9yIGZhdWx0LiAgKi8KKy8qIFJldHVybiB0cnVlIGlmIGEg d3JpdGUgaW50byBNRU0gbWF5IHRyYXAgb3IgZmF1bHQKKyAgIGV2ZW4gaW4g dGhlIHByZXNlbmNlIG9mIHNjcmF0Y2hwYWQgc3VwcG9ydC4gICovCiAKIHN0 YXRpYyBib29sCi1ub2NlX21lbV93cml0ZV9tYXlfdHJhcF9vcl9mYXVsdF9w IChjb25zdF9ydHggbWVtKQorbm9jZV9tZW1fd3JpdGVfbWF5X3RyYXBfb3Jf ZmF1bHRfcF8xIChjb25zdF9ydHggbWVtKQogewotICBydHggYWRkcjsKLQog ICBpZiAoTUVNX1JFQURPTkxZX1AgKG1lbSkpCiAgICAgcmV0dXJuIHRydWU7 CiAKLSAgaWYgKG1heV90cmFwX29yX2ZhdWx0X3AgKG1lbSkpCi0gICAgcmV0 dXJuIHRydWU7Ci0KKyAgcnR4IGFkZHI7CiAgIGFkZHIgPSBYRVhQIChtZW0s IDApOwogCiAgIC8qIENhbGwgdGFyZ2V0IGhvb2sgdG8gYXZvaWQgdGhlIGVm ZmVjdHMgb2YgLWZwaWMgZXRjLi4uLiAgKi8KQEAgLTI4MzcsNiArMjg0MSwx OCBAQCBub2NlX21lbV93cml0ZV9tYXlfdHJhcF9vcl9mYXVsdF9wIChjb25z CiAgIHJldHVybiBmYWxzZTsKIH0KIAorLyogUmV0dXJuIHRydWUgaWYgYSB3 cml0ZSBpbnRvIE1FTSBtYXkgdHJhcCBvciBmYXVsdAorICAgd2l0aG91dCBz Y3JhdGNocGFkIHN1cHBvcnQuICAqLworCitzdGF0aWMgYm9vbAorbm9jZV9t ZW1fd3JpdGVfbWF5X3RyYXBfb3JfZmF1bHRfcCAoY29uc3RfcnR4IG1lbSkK K3sKKyAgaWYgKG1heV90cmFwX29yX2ZhdWx0X3AgKG1lbSkpCisgICAgcmV0 dXJuIHRydWU7CisKKyAgcmV0dXJuIG5vY2VfbWVtX3dyaXRlX21heV90cmFw X29yX2ZhdWx0X3BfMSAobWVtKTsKK30KKwogLyogUmV0dXJuIHdoZXRoZXIg d2UgY2FuIHVzZSBzdG9yZSBzcGVjdWxhdGlvbiBmb3IgTUVNLiAgVE9QX0JC IGlzIHRoZQogICAgYmFzaWMgYmxvY2sgYWJvdmUgdGhlIGNvbmRpdGlvbmFs IGJsb2NrIHdoZXJlIHdlIGFyZSBjb25zaWRlcmluZwogICAgZG9pbmcgdGhl IHNwZWN1bGF0aXZlIHN0b3JlLiAgV2UgbG9vayBmb3Igd2hldGhlciBNRU0g aXMgc2V0CkBAIC0zMTU2LDE3ICszMTcyLDExNiBAQCBub2NlX3Byb2Nlc3Nf aWZfYmxvY2sgKHN0cnVjdCBub2NlX2lmX2luCiAKICAgaWYgKCFzZXRfYiAm JiBNRU1fUCAob3JpZ194KSkKICAgICB7Ci0gICAgICAvKiBEaXNhbGxvdyB0 aGUgImlmICguLi4pIHggPSBhOyIgZm9ybSAoaW1wbGljaXQgImVsc2UgeCA9 IHg7IikKLQkgZm9yIG9wdGltaXphdGlvbnMgaWYgd3JpdGluZyB0byB4IG1h eSB0cmFwIG9yIGZhdWx0LAotCSBpLmUuIGl0J3MgYSBtZW1vcnkgb3RoZXIg dGhhbiBhIHN0YXRpYyB2YXIgb3IgYSBzdGFjayBzbG90LAotCSBpcyBtaXNh bGlnbmVkIG9uIHN0cmljdCBhbGlnbmVkIG1hY2hpbmVzIG9yIGlzIHJlYWQt b25seS4gIElmCi0JIHggaXMgYSByZWFkLW9ubHkgbWVtb3J5LCB0aGVuIHRo ZSBwcm9ncmFtIGlzIHZhbGlkIG9ubHkgaWYgd2UKLQkgYXZvaWQgdGhlIHN0 b3JlIGludG8gaXQuICBJZiB0aGVyZSBhcmUgc3RvcmVzIG9uIGJvdGggdGhl Ci0JIFRIRU4gYW5kIEVMU0UgYXJtcywgdGhlbiB3ZSBjYW4gZ28gYWhlYWQg d2l0aCB0aGUgY29udmVyc2lvbjsKLQkgZWl0aGVyIHRoZSBwcm9ncmFtIGlz IGJyb2tlbiwgb3IgdGhlIGNvbmRpdGlvbiBpcyBhbHdheXMKLQkgZmFsc2Ug c3VjaCB0aGF0IHRoZSBvdGhlciBtZW1vcnkgaXMgc2VsZWN0ZWQuICAqLwor ICAgICAgLyogRGlzYWxsb3cgdGhlICJpZiAoLi4uKSB4ID0gYTsiIGZvcm0g KHdpdGggbm8gImVsc2UiKSBmb3Igb3B0aW1pemF0aW9ucworCSB3aGVuIHgg aXMgbWlzYWxpZ25lZCBvbiBzdHJpY3QtYWxpZ25tZW50IG1hY2hpbmVzIG9y IGlzIHJlYWQtb25seS4KKwkgSWYgeCBpcyBhIG1lbW9yeSBvdGhlciB0aGFu IGEgc3RhdGljIHZhciBvciBhIHN0YWNrIHNsb3Q6IGZvciB0YXJnZXRzCisJ IF93aXRoXyBjb25kaXRpb25hbCBtb3ZlIGFuZCBfd2l0aG91dF8gY29uZGl0 aW9uYWwgZXhlY3V0aW9uLAorCSBjb252ZXJ0IHVzaW5nIHRoZSBzY3JhdGNo cGFkIHRlY2huaXF1ZSwgb3RoZXJ3aXNlIGRvbmB0IGNvbnZlcnQuCisJIElm IHggaXMgYSByZWFkLW9ubHkgbWVtb3J5LCB0aGVuIHRoZSBwcm9ncmFtIGlz IHZhbGlkIG9ubHkgaWYgd2UgYXZvaWQKKwkgdGhlIHN0b3JlIGludG8gaXQu ICBJZiB0aGVyZSBhcmUgc3RvcmVzIG9uIGJvdGggdGhlIFRIRU4gYW5kIEVM U0UgYXJtcywKKwkgdGhlbiB3ZSBjYW4gZ28gYWhlYWQgd2l0aCB0aGUgY29u dmVyc2lvbjsgZWl0aGVyIHRoZSBwcm9ncmFtIGlzIGJyb2tlbiwKKwkgb3Ig dGhlIGNvbmRpdGlvbiBpcyBhbHdheXMgZmFsc2Ugc3VjaCB0aGF0IHRoZSBv dGhlciBtZW1vcnkgaXMgc2VsZWN0ZWQuCisJIFRoZSBub24tc2NyYXRjaHBh ZC1iYXNlZCBjb252ZXJzaW9uIGhlcmUgaGFzIGFuIGltcGxpY2l0ICJlbHNl IHggPSB4OyIuICAqLwogICAgICAgaWYgKG5vY2VfbWVtX3dyaXRlX21heV90 cmFwX29yX2ZhdWx0X3AgKG9yaWdfeCkpCi0JcmV0dXJuIEZBTFNFOworCXsK KwkgIGlmICggICByZWxvYWRfY29tcGxldGVkCisJICAgICAgfHwgb3B0aW1p emUgPCAyCisJICAgICAgfHwgb3B0aW1pemVfZnVuY3Rpb25fZm9yX3NpemVf cCAoY2Z1bikKKwkgICAgICB8fCB0YXJnZXRtLmhhdmVfY29uZGl0aW9uYWxf ZXhlY3V0aW9uICgpCisJICAgICAgfHwgIUhBVkVfY29uZGl0aW9uYWxfbW92 ZQorCSAgICAgIHx8IChDT05TVEFOVF9QIChYRVhQIChjb25kLCAwKSkgJiYg Q09OU1RBTlRfUCAoWEVYUCAoY29uZCwgMSkpKSkKKwkgICAgcmV0dXJuIEZB TFNFOworCisKKwkgIGlmIChub2NlX21lbV93cml0ZV9tYXlfdHJhcF9vcl9m YXVsdF9wXzEgKG9yaWdfeCkKKwkgICAgICB8fCAhTUVNX1NJWkVfS05PV05f UCAob3JpZ194KSkKKwkgICAgcmV0dXJuIEZBTFNFOworCisJICBjb25zdCBz aXplX3QgTUVNX3NpemUgPSBNRU1fU0laRSAob3JpZ194KTsKKwkgIGlmIChN RU1fc2l6ZSA+IFNDUkFUQ0hQQURfTUFYX1NJWkUpCisJICAgIHJldHVybiBG QUxTRTsKKworCSAgcnR4IGJpZ2dlc3Rfc3BhZCA9IDA7CisJICB1bnNpZ25l ZCBpbnQgYmlnZ2VzdF9zcGFkX3NpemUgPSAwOworCSAgaWYgKHNpemVfdCB2 ZWNfbGVuID0gc2NyYXRjaHBhZHMubGVuZ3RoICgpKQorCSAgICB7CisJICAg ICAgc3RkOjpwYWlyPHJ0eCwgdW5zaWduZWQ+IHRtcF9wYWlyID0gc2NyYXRj aHBhZHNbdmVjX2xlbiAtIDFdOworCSAgICAgIGJpZ2dlc3Rfc3BhZCA9IHRt cF9wYWlyLmZpcnN0OworCSAgICAgIGJpZ2dlc3Rfc3BhZF9zaXplID0gdG1w X3BhaXIuc2Vjb25kOworCSAgICB9CisJICBpZiAoTUVNX3NpemUgPiBiaWdn ZXN0X3NwYWRfc2l6ZSkKKwkgICAgeworCSAgICAgIGJpZ2dlc3Rfc3BhZF9z aXplID0gTUVNX3NpemU7CisJICAgICAgYmlnZ2VzdF9zcGFkID0gYXNzaWdu X3N0YWNrX2xvY2FsIChHRVRfTU9ERSAob3JpZ194KSwgTUVNX3NpemUsIDAp OworCSAgICAgIGdjY19hc3NlcnQgKGJpZ2dlc3Rfc3BhZCk7CisJICAgICAg c2NyYXRjaHBhZHMuc2FmZV9wdXNoIChzdGQ6Om1ha2VfcGFpciAoYmlnZ2Vz dF9zcGFkLCBNRU1fc2l6ZSkpOworCSAgICB9CisKKwkgIGdjY19hc3NlcnQg KGJpZ2dlc3Rfc3BhZCk7CisKKwkgIHJ0eCByZWdfZm9yX3N0b3JlX2FkZHIg PSBnZW5fcmVnX3J0eCAoUG1vZGUpOworCSAgc2V0X3VzZWRfZmxhZ3MgKHJl Z19mb3Jfc3RvcmVfYWRkcik7CisKKwkgIHN0YXJ0X3NlcXVlbmNlICgpOwor CisJICBmb3IgKHJ0eF9pbnNuICppbnNuID0gQkJfSEVBRCAodGhlbl9iYik7 CisJICAgICAgIGluc24gJiYgaW5zbiAhPSBpbnNuX2EgJiYgaW5zbiAhPSBC Ql9FTkQgKHRoZW5fYmIpOworCSAgICAgICBpbnNuID0gTkVYVF9JTlNOIChp bnNuKSkKKwkgICAgaWYgKCEoTk9URV9JTlNOX0JBU0lDX0JMT0NLX1AgKGlu c24pIHx8IERFQlVHX0lOU05fUCAoaW5zbikpKQorCSAgICAgIGR1cGxpY2F0 ZV9pbnNuX2NoYWluIChpbnNuLCBpbnNuKTsKKworCSAgcnR4IHRhcmdldCA9 IG5vY2VfZW1pdF9jbW92ZSAoaWZfaW5mbywKKwkJCQkJcmVnX2Zvcl9zdG9y ZV9hZGRyLAorCQkJCQlHRVRfQ09ERSAoY29uZCksCisJCQkJCVhFWFAgKGNv bmQsIDApLAorCQkJCQlYRVhQIChjb25kLCAxKSwKKwkJCQkJWEVYUCAob3Jp Z194LCAwKSwKKwkJCQkJWEVYUCAoYmlnZ2VzdF9zcGFkLCAwKSk7CisKKwkg IGlmICghdGFyZ2V0KQorCSAgICB7CisJICAgICAgZW5kX3NlcXVlbmNlICgp OworCSAgICAgIHJldHVybiBGQUxTRTsKKwkgICAgfQorCSAgaWYgKHRhcmdl dCAhPSByZWdfZm9yX3N0b3JlX2FkZHIpCisJICAgIG5vY2VfZW1pdF9tb3Zl X2luc24gKHJlZ19mb3Jfc3RvcmVfYWRkciwgdGFyZ2V0KTsKKworCSAgcnR4 IG1lbSA9IGdlbl9ydHhfTUVNIChHRVRfTU9ERSAob3JpZ194KSwgcmVnX2Zv cl9zdG9yZV9hZGRyKTsKKwkgIE1FTV9OT1RSQVBfUCAobWVtKSA9IHRydWU7 CisJICBNRU1fVk9MQVRJTEVfUCAobWVtKSA9IE1FTV9WT0xBVElMRV9QIChv cmlnX3gpOworCisJICBhbGlhc19zZXRfdHlwZSB0ZW1wX2FsaWFzX3NldCA9 IG5ld19hbGlhc19zZXQgKCk7CisJICBpZiAoTUVNX0FMSUFTX1NFVCAob3Jp Z194KSkKKwkgICAgcmVjb3JkX2FsaWFzX3N1YnNldCAoTUVNX0FMSUFTX1NF VCAob3JpZ194KSwgdGVtcF9hbGlhc19zZXQpOworCSAgc2V0X21lbV9hbGlh c19zZXQgKG1lbSwgdGVtcF9hbGlhc19zZXQpOworCisJICBzZXRfbWVtX2Fs aWduIChtZW0sIE1JTiAoTUVNX0FMSUdOIChiaWdnZXN0X3NwYWQpLAorCQkJ CSAgIE1FTV9BTElHTiAob3JpZ194KSkpOworCSAgaWYgKE1FTV9BRERSX1NQ QUNFIChvcmlnX3gpICE9IE1FTV9BRERSX1NQQUNFIChiaWdnZXN0X3NwYWQp KQorCSAgICB7CisJICAgICAgZW5kX3NlcXVlbmNlICgpOworCSAgICAgIHJl dHVybiBGQUxTRTsKKwkgICAgfQorCisJICBzZXRfdXNlZF9mbGFncyAobWVt KTsKKworCSAgbm9jZV9lbWl0X21vdmVfaW5zbiAobWVtLCBhKTsKKworCSAg cnR4X2luc24gKnNlcSA9IGVuZF9pZmN2dF9zZXF1ZW5jZSAoaWZfaW5mbyk7 CisJICBpZiAoIXNlcSkKKwkgICAgcmV0dXJuIEZBTFNFOworCisJICB1bnNo YXJlX2FsbF9ydGxfaW5fY2hhaW4gKHNlcSk7CisKKwkgIC8qIFByZXZlbnQg dGhlIGNvZGUgcmlnaHQgYWZ0ZXIgInN1Y2Nlc3M6IgorCSAgICAgZnJvbSB0 aHJvd2luZyBhd2F5IHRoZSBjaGFuZ2VzLiAgKi8KKwkgIHggPSBvcmlnX3g7 CisKKwkgIGVtaXRfaW5zbl9iZWZvcmVfc2V0bG9jIChzZXEsIGlmX2luZm8t Pmp1bXAsCisJCQkJICAgSU5TTl9MT0NBVElPTiAoaWZfaW5mby0+aW5zbl9h KSk7CisJICBnb3RvIHN1Y2Nlc3M7CisKKwl9CiAKICAgICAgIC8qIEF2b2lk IHN0b3JlIHNwZWN1bGF0aW9uOiBnaXZlbiAiaWYgKC4uLikgeCA9IGEiIHdo ZXJlIHggaXMgYQogCSBNRU0sIHdlIG9ubHkgd2FudCB0byBkbyB0aGUgc3Rv cmUgaWYgeCBpcyBhbHdheXMgc2V0CkBAIC00OTU5LDYgKzUwNzQsOSBAQCBp Zl9jb252ZXJ0IChib29sIGFmdGVyX2NvbWJpbmUpCiAgIGJhc2ljX2Jsb2Nr IGJiOwogICBpbnQgcGFzczsKIAorICAvKiBFbnN1cmUgdGhhdCB3ZSBzdGFy dCB0aGUgc2NyYXRjaHBhZHMgZGF0YSBmcmVzaCBlYWNoIHRpbWUuICAqLwor ICBzY3JhdGNocGFkcy50cnVuY2F0ZSAoMCk7CisKICAgaWYgKG9wdGltaXpl ID09IDEpCiAgICAgewogICAgICAgZGZfbGl2ZV9hZGRfcHJvYmxlbSAoKTsK --------------050807090308030204020606--