From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20254 invoked by alias); 31 Mar 2011 11:20:33 -0000 Received: (qmail 20244 invoked by uid 22791); 31 Mar 2011 11:20:32 -0000 X-SWARE-Spam-Status: No, hits=-1.1 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from nwd2mail11.analog.com (HELO nwd2mail11.analog.com) (137.71.25.57) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 31 Mar 2011 11:20:23 +0000 Received: from nwd2hubcas1.ad.analog.com ([10.64.73.29]) by nwd2mail11.analog.com with ESMTP; 31 Mar 2011 07:20:21 -0400 Received: from LimkHubCAS1.ad.analog.com (10.32.51.140) by NWD2HUBCAS1.ad.analog.com (10.64.73.29) with Microsoft SMTP Server (TLS) id 8.1.358.0; Thu, 31 Mar 2011 07:20:22 -0400 Received: from LIMKCMBX1.ad.analog.com ([169.254.1.64]) by LimkHubCAS1.ad.analog.com ([10.32.51.140]) with mapi; Thu, 31 Mar 2011 12:20:20 +0100 From: "Henderson, Stuart" To: "gcc-patches@gcc.gnu.org" Date: Thu, 31 Mar 2011 11:39:00 -0000 Subject: [Patch] bfin: move loop invariants out of loop Message-ID: <05E9E85E39C35B4D96ED3A3190E35A10A2E0F41625@LIMKCMBX1.ad.analog.com> Content-Type: multipart/mixed; boundary="_002_05E9E85E39C35B4D96ED3A3190E35A10A2E0F41625LIMKCMBX1adan_" MIME-Version: 1.0 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 X-SW-Source: 2011-03/txt/msg02172.txt.bz2 --_002_05E9E85E39C35B4D96ED3A3190E35A10A2E0F41625LIMKCMBX1adan_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-length: 382 The attached patch attempts to move loop invariants out of loops for Blackf= in. 2011-03-31 Stuart Henderson From Bernd Schmidt * config/bfin/bfin.c (bfin_gen_bundles): Don't try to bundle a jump. (bfin_optimize_loops_1, move_loop_constants): New static functions. (bfin_reorg): Call bfin_optimize_loops_1 if optimizing. Thanks, Stu --_002_05E9E85E39C35B4D96ED3A3190E35A10A2E0F41625LIMKCMBX1adan_ Content-Type: application/octet-stream; name="upstream.patch" Content-Description: upstream.patch Content-Disposition: attachment; filename="upstream.patch"; size=4824; creation-date="Fri, 11 Mar 2011 12:30:37 GMT"; modification-date="Thu, 31 Mar 2011 12:05:17 GMT" Content-Transfer-Encoding: base64 Content-length: 6540 SW5kZXg6IGdjYy9jb25maWcvYmZpbi9iZmluLmMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gZ2NjL2NvbmZpZy9iZmluL2JmaW4uYwkocmV2aXNpb24g MTcxMjE1KQorKysgZ2NjL2NvbmZpZy9iZmluL2JmaW4uYwkod29ya2luZyBj b3B5KQpAQCAtNTMsNiArNTMsOCBAQAogI2luY2x1ZGUgImd0LWJmaW4uaCIK ICNpbmNsdWRlICJiYXNpYy1ibG9jay5oIgogI2luY2x1ZGUgImNmZ2xheW91 dC5oIgorI2luY2x1ZGUgImNmZ2xvb3AuaCIKKyNpbmNsdWRlICJzY2hlZC1p bnQuaCIKICNpbmNsdWRlICJ0aW1ldmFyLmgiCiAjaW5jbHVkZSAiZGYuaCIK ICNpbmNsdWRlICJzZWwtc2NoZWQuaCIKQEAgLTQ3OTQsNiArNDc5NiwxNDcg QEAKICAgICB9CiAgIHNwbGl0dGluZ19sb29wcyA9IDA7CiB9CisKKy8qIFN1 YnJvdXRpbmUgb2YgbW92ZV9sb29wX2NvbnN0YW50cywgY2FsbGVkIHRocm91 Z2ggbm90ZV9zdG9yZXMuICAqLworc3RhdGljIHZvaWQKK2ZvcmdldF9rbm93 bl92YWx1ZXMgKHJ0eCB4LCBjb25zdF9ydHggcGF0LCB2b2lkICpkYXRhKQor eworICBydHggKmtub3duX3ZhbHVlID0gKHJ0eCAqKWRhdGE7CisgIGludCBu cmVnczsKKyAgaWYgKCFSRUdfUCAoeCkpCisgICAgcmV0dXJuOworICBucmVn cyA9IEhBUkRfUkVHTk9fTlJFR1MgKFJFR05PICh4KSwgR0VUX01PREUgKHgp KTsKKyAgd2hpbGUgKG5yZWdzLS0gPiAwKQorICAgIGtub3duX3ZhbHVlW1JF R05PICh4KSArIG5yZWdzXSA9IGNvbnN0MF9ydHg7Cit9CisKKy8qIEZvciBM T09QLCB3aG9zZSBib2R5IGlzIHJlY29yZGVkIGluIEJPRFksIHRyeSB0byBt b3ZlIGxvb3AgaW52YXJpYW50cworICAgb3V0IG9mIHRoZSBsb29wLiAgKi8K K3N0YXRpYyB2b2lkCittb3ZlX2xvb3BfY29uc3RhbnRzIChzdHJ1Y3QgbG9v cCAqbG9vcCwgYmFzaWNfYmxvY2sgKmJvZHkpCit7CisgIHVuc2lnbmVkIGk7 CisgIHJ0eCBrbm93bl92YWx1ZVtGSVJTVF9QU0VVRE9fUkVHSVNURVJdOwor ICBlZGdlIHBoX2VkZ2U7CisgIGVkZ2VfaXRlcmF0b3IgZWk7CisKKyAgaWYg KEVER0VfQ09VTlQgKGxvb3AtPmhlYWRlci0+cHJlZHMpICE9IDIpCisgICAg cmV0dXJuOworCisgIEZPUl9FQUNIX0VER0UgKHBoX2VkZ2UsIGVpLCBsb29w LT5oZWFkZXItPnByZWRzKQorICAgIGlmIChwaF9lZGdlLT5zcmMgIT0gbG9v cC0+bGF0Y2gpCisgICAgICBicmVhazsKKworICBtZW1zZXQgKGtub3duX3Zh bHVlLCAwLCBzaXplb2Yga25vd25fdmFsdWUpOworCisgIGZvciAoaSA9IDA7 IGkgPCBsb29wLT5udW1fbm9kZXM7IGkrKykKKyAgICB7CisgICAgICBiYXNp Y19ibG9jayBiYiA9IGJvZHlbaV07CisgICAgICBydHggaW5zbjsKKworICAg ICAgZm9yIChpbnNuID0gQkJfSEVBRCAoYmIpOworCSAgIGluc24gIT0gTkVY VF9JTlNOIChCQl9FTkQgKGJiKSk7CisJICAgaW5zbiA9IE5FWFRfSU5TTiAo aW5zbikpCisJeworCSAgcnR4IHNldCwgbm90ZTsKKworCSAgaWYgKENBTExf UCAoaW5zbikpCisJICAgIHsKKwkgICAgICBydHggbGluaywgcmVnLCBvcDsK KwkgICAgICB1bnNpZ25lZCBqOworCSAgICAgIG5vdGVfc3RvcmVzIChQQVRU RVJOIChpbnNuKSwgZm9yZ2V0X2tub3duX3ZhbHVlcywga25vd25fdmFsdWUp OworCisJICAgICAgZm9yIChqID0gMDsgaiA8IEZJUlNUX1BTRVVET19SRUdJ U1RFUjsgaisrKQorCQlpZiAoY2FsbF91c2VkX3JlZ3Nbal0pCisJCSAga25v d25fdmFsdWVbal0gPSBjb25zdDBfcnR4OworCisJICAgICAgZm9yIChsaW5r ID0gQ0FMTF9JTlNOX0ZVTkNUSU9OX1VTQUdFIChpbnNuKTsKKwkJICAgbGlu azsKKwkJICAgbGluayA9IFhFWFAgKGxpbmssIDEpKQorCQl7CisJCSAgaWYg KEdFVF9DT0RFIChvcCA9IFhFWFAgKGxpbmssIDApKSA9PSBDTE9CQkVSCisJ CSAgICAgICYmIFJFR19QIChyZWcgPSBYRVhQIChvcCwgMCkpKQorCQkgICAg a25vd25fdmFsdWVbUkVHTk8gKHJlZyldID0gY29uc3QwX3J0eDsKKwkJfQor CSAgICAgIGNvbnRpbnVlOworCSAgICB9CisKKwkgIGlmICghSU5TTl9QIChp bnNuKSkKKwkgICAgY29udGludWU7CisKKwkgIHNldCA9IHNpbmdsZV9zZXQg KGluc24pOworCSAgaWYgKCFzZXQgfHwgIVJFR19QIChTRVRfREVTVCAoc2V0 KSkKKwkgICAgICB8fCBHRVRfTU9ERV9TSVpFIChHRVRfTU9ERSAoU0VUX0RF U1QgKHNldCkpKSA+IFVOSVRTX1BFUl9XT1JEKQorCSAgICBub3RlX3N0b3Jl cyAoUEFUVEVSTiAoaW5zbiksIGZvcmdldF9rbm93bl92YWx1ZXMsIGtub3du X3ZhbHVlKTsKKwkgIGVsc2UKKwkgICAgeworCSAgICAgIHVuc2lnbmVkIHJl Z25vID0gUkVHTk8gKFNFVF9ERVNUIChzZXQpKTsKKwkgICAgICBpZiAoa25v d25fdmFsdWVbcmVnbm9dICE9IE5VTExfUlRYKQorCQlrbm93bl92YWx1ZVty ZWdub10gPSBjb25zdDBfcnR4OworCSAgICAgIGVsc2UKKwkJa25vd25fdmFs dWVbcmVnbm9dID0gaW5zbjsKKwkgICAgfQorCSAgZm9yIChub3RlID0gUkVH X05PVEVTIChpbnNuKTsgbm90ZTsgbm90ZSA9IFhFWFAgKG5vdGUsIDEpKQor CSAgICBpZiAoUkVHX05PVEVfS0lORCAobm90ZSkgPT0gUkVHX0lOQyAmJiBS RUdfUCAoWEVYUCAobm90ZSwgMCkpKQorCSAgICAgIHsKKwkJa25vd25fdmFs dWVbUkVHTk8gKFhFWFAgKG5vdGUsIDApKV0gPSBjb25zdDBfcnR4OworCSAg ICAgIH0KKwl9CisgICAgfQorCisgIGZvciAoaSA9IDA7IGkgPCBGSVJTVF9Q U0VVRE9fUkVHSVNURVI7IGkrKykKKyAgICB7CisgICAgICBydHggaW5zbiwg c3JjOworCisgICAgICBpbnNuID0ga25vd25fdmFsdWVbaV07CisgICAgICBp ZiAoaW5zbiA9PSBOVUxMX1JUWCB8fCBpbnNuID09IGNvbnN0MF9ydHgpCisJ Y29udGludWU7CisKKyAgICAgIHNyYyA9IFNFVF9TUkMgKHNpbmdsZV9zZXQg KGluc24pKTsKKyAgICAgIGlmICghQ09OU1RBTlRfUCAoc3JjKSkKKwljb250 aW51ZTsKKyAgICAgIGlmIChSRUdOT19SRUdfU0VUX1AgKGRmX2dldF9saXZl X2luIChsb29wLT5oZWFkZXIpLCBpKSkKKwljb250aW51ZTsKKworICAgICAg aW5zZXJ0X2luc25fb25fZWRnZSAoUEFUVEVSTiAoaW5zbiksIHBoX2VkZ2Up OworICAgICAgZGVsZXRlX2luc24gKGluc24pOworICAgIH0KK30KKworLyog Rmlyc3Qgc2V0IG9mIGxvb3Agb3B0aW1pemF0aW9ucyBwZXJmb3JtZWQgZHVy aW5nIHRoZSBtYWNoaW5lX3Jlb3JnIHBhc3MuCisgICBUaGlzIHRyaWVzIHRv IG1vdmUgY29uc3RhbnQgbG9hZHMgZ2VuZXJhdGVkIGJ5IHJlbG9hZCBvdXQg b2YgbG9vcHMuICAqLworc3RhdGljIHZvaWQKK2JmaW5fb3B0aW1pemVfbG9v cHNfMSAoRklMRSAqZHVtcF9maWxlKQoreworICBzdHJ1Y3QgbG9vcCAqIGxv b3A7CisgIGxvb3BfaXRlcmF0b3IgbGk7CisKKyAgLyogV2l0aG91dCBMT09Q U19NQVlfSEFWRV9NVUxUSVBMRV9MQVRDSEVTLCBleHRyYSB1bm5lY2Vzc2Fy eSBqdW1wcyBhcmUKKyAgICAgY3JlYXRlZCB3aGljaCB3ZSdkIGhhdmUgdG8g Y2xlYW4gdXAgYWdhaW4gbGF0ZXIuICAqLworICBsb29wX29wdGltaXplcl9p bml0IChMT09QU19IQVZFX1JFQ09SREVEX0VYSVRTCisJCSAgICAgICB8IExP T1BTX01BWV9IQVZFX01VTFRJUExFX0xBVENIRVMpOworICBpZiAobnVtYmVy X29mX2xvb3BzICgpIDw9IDEpCisgICAgeworICAgICAgbG9vcF9vcHRpbWl6 ZXJfZmluYWxpemUgKCk7CisgICAgICByZXR1cm47ICAvKiBUaGVyZSBhcmUg bm8gbG9vcHMgdG8gc2NoZWR1bGUuICAqLworICAgIH0KKworICBkZl9hbmFs eXplICgpOworCisgIEZPUl9FQUNIX0xPT1AgKGxpLCBsb29wLCAwKQorICAg IHsKKyAgICAgIGJhc2ljX2Jsb2NrICpib2R5ID0gZ2V0X2xvb3BfYm9keSAo bG9vcCk7CisKKyAgICAgIG1vdmVfbG9vcF9jb25zdGFudHMgKGxvb3AsIGJv ZHkpOworCisgICAgICBmcmVlIChib2R5KTsKKyAgICB9CisKKyAgY29tbWl0 X2VkZ2VfaW5zZXJ0aW9ucyAoKTsKKworICBsb29wX29wdGltaXplcl9maW5h bGl6ZSAoKTsKKyAgZnJlZV9kb21pbmFuY2VfaW5mbyAoQ0RJX0RPTUlOQVRP UlMpOworfQogDAogLyogUG9zc2libHkgZ2VuZXJhdGUgYSBTRVFVRU5DRSBv dXQgb2YgdGhyZWUgaW5zbnMgZm91bmQgaW4gU0xPVC4KICAgIFJldHVybnMg dHJ1ZSBpZiB3ZSBtb2RpZmllZCB0aGUgaW5zbiBjaGFpbiwgZmFsc2Ugb3Ro ZXJ3aXNlLiAgKi8KQEAgLTQ5MTEsNyArNTA1NCw4IEBACiAKIAkgIC8qIEJC X0VORCBjYW4gY2hhbmdlIGR1ZSB0byBlbWl0dGluZyBleHRyYSBOT1BzLCBz byBjaGVjayBoZXJlLiAgKi8KIAkgIGF0X2VuZCA9IGluc24gPT0gQkJfRU5E IChiYik7Ci0JICBpZiAoZGVsZXRlX3RoaXMgPT0gTlVMTF9SVFggJiYgKGF0 X2VuZCB8fCBHRVRfTU9ERSAobmV4dCkgPT0gVEltb2RlKSkKKwkgIGlmIChk ZWxldGVfdGhpcyA9PSBOVUxMX1JUWAorCSAgICAgICYmIChhdF9lbmQgfHwg R0VUX01PREUgKG5leHQpID09IFRJbW9kZSB8fCBKVU1QX1AgKG5leHQpKSkK IAkgICAgewogCSAgICAgIGlmICgobl9maWxsZWQgPCAyCiAJCSAgIHx8ICFn ZW5fb25lX2J1bmRsZSAoc2xvdCkpCkBAIC01NTAyLDYgKzU2NDYsOSBAQAog ICAgICB3aXRoIG9sZCBNREVQX1JFT1JHUyB0aGF0IGFyZSBub3QgQ0ZHIGJh c2VkLiAgUmVjb21wdXRlIGl0IG5vdy4gICovCiAgIGNvbXB1dGVfYmJfZm9y X2luc24gKCk7CiAKKyAgaWYgKG9wdGltaXplKQorICAgIGJmaW5fb3B0aW1p emVfbG9vcHNfMSAoZHVtcF9maWxlKTsKKwogICBpZiAoYmZpbl9mbGFnX3Nj aGVkdWxlX2luc25zMikKICAgICB7CiAgICAgICBzcGxpdHRpbmdfZm9yX3Nj aGVkID0gMTsK --_002_05E9E85E39C35B4D96ED3A3190E35A10A2E0F41625LIMKCMBX1adan_--