From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1640 invoked by alias); 9 Aug 2004 06:30:22 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 1618 invoked from network); 9 Aug 2004 06:30:17 -0000 Received: from unknown (HELO mtagate4.de.ibm.com) (195.212.29.153) by sourceware.org with SMTP; 9 Aug 2004 06:30:17 -0000 Received: from d12nrmr1607.megacenter.de.ibm.com (d12nrmr1607.megacenter.de.ibm.com [9.149.167.49]) by mtagate4.de.ibm.com (8.12.10/8.12.10) with ESMTP id i796UB69107820; Mon, 9 Aug 2004 06:30:11 GMT Received: from d12ml102.megacenter.de.ibm.com (d12av02.megacenter.de.ibm.com [9.149.165.228]) by d12nrmr1607.megacenter.de.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i796UB5E217394; Mon, 9 Aug 2004 08:30:11 +0200 To: gcc-patches@gcc.gnu.org Cc: Zdenek Dvorak MIME-Version: 1.0 Subject: [Patch] Splitting memory references during unrolling (resubmission) From: Revital Eres Message-ID: Date: Mon, 09 Aug 2004 07:03:00 -0000 Content-Type: multipart/mixed; boundary="=_mixed 0023CC28C2256EEB_=" X-SW-Source: 2004-08/txt/msg00483.txt.bz2 --=_mixed 0023CC28C2256EEB_= Content-Type: text/plain; charset="US-ASCII" Content-length: 619 Hello, Following the fix for the unroller patch (http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00397.html) I resubmit the patch for Splitting memory references during unrolling. Bootstrapped (with -funroll-all-loops) & regression tests on POWER4. 2004-08-09 Revital Eres * loop-unroll.c: (can_split_memory_ref): New function for determine whether the current instruction contains memory reference which uses an induction variable. (analyze_iv_to_split_insn): Expand the function to analyze also instructions of memory references. --=_mixed 0023CC28C2256EEB_= Content-Type: application/octet-stream; name="diff.ivs" Content-Disposition: attachment; filename="diff.ivs" Content-Transfer-Encoding: base64 Content-length: 6792 VGhpcyBkaWZmIGlzIHJlbGF0aXZlIHRvIGxvb3AtdW5yb2xsLmMgZmlsZSBh cwp3YXMgc3VibWl0dGVkIGluIHRoZSBwYXRjaDoKaHR0cDovL2djYy5nbnUu b3JnL21sL2djYy1wYXRjaGVzLzIwMDQtMDgvbXNnMDAzOTcuaHRtbC4KCjEx MGExMTEKPiBzdGF0aWMgc3RydWN0IGl2X3RvX3NwbGl0ICpjYW5fc3BsaXRf bWVtb3J5X3JlZiAocnR4KTsKOTEzZDkxMwo8IAoxNDI5YTE0MzAsMTU0OAo+ IAo+IC8qIERldGVybWluZSB3aGV0aGVyIElOU04gY29udGFpbnMgbWVtb3J5 IHJlZmVyZW5jZXMKPiAgICB3aGljaCB1c2VzIGFuIGluZHVjdGlvbiB2YXJp YWJsZS4gKi8KPiAKPiBzdGF0aWMgc3RydWN0IGl2X3RvX3NwbGl0ICoKPiBj YW5fc3BsaXRfbWVtb3J5X3JlZiAocnR4IGluc24pCj4gewo+ICAgc3RydWN0 IGl2X3RvX3NwbGl0ICppdnRzOwo+ICAgcnR4IGxvcCwgcm9wLCBleHByOwo+ ICAgaW50IG5fbG9jLCBsb2NfMCwgbG9jXzEsIGxvY18yID0gLTE7Cj4gICBy dHggc2V0LCBkZXN0LCBzcmM7Cj4gICBydHggaW5zbjEsIGluc24yOwo+ICAg c3RydWN0IHJ0eF9pdiBpdjEsIGl2MjsKPiAgIAo+ICAgc2V0ID0gc2luZ2xl X3NldCAoaW5zbik7Cj4gICBpZiAoIXNldCkKPiAgICAgcmV0dXJuIE5VTEw7 Cj4gICAKPiAgIGRlc3QgPSBTRVRfREVTVCAoc2V0KTsKPiAgIHNyYyA9IFNF VF9TUkMgKHNldCk7Cj4gICAKPiAgIC8qICByZWcgPSBtZW0gWyBpbnZhcmlh bnQgKyBpdiBdICovCj4gICBpZiAoKFJFR19QIChkZXN0KSB8fCBHRVRfTU9E RSAoZGVzdCkgPT0gU1VCUkVHKSAKPiAgICAgICAmJiBHRVRfQ09ERSAoc3Jj KSA9PSBNRU0pCj4gICAgIHsKPiAgICAgICBuX2xvYyA9IDI7Cj4gICAgICAg bG9jXzAgPSAxOwo+ICAgICAgIGxvY18xID0gMDsKPiAgICAgICBleHByID0g IFhFWFAgKHNyYywgMCk7Cj4gICAgIH0KPiAgIC8qIG1lbSBbIGludmFyaWFu dCArIGl2IF0gPSByZWcgKi8KPiAgIGVsc2UgaWYgKChSRUdfUCAoc3JjKSB8 fCBHRVRfTU9ERSAoc3JjKSA9PSBTVUJSRUcpIAo+IAkgICAmJiBHRVRfQ09E RSAoZGVzdCkgPT0gTUVNKQo+ICAgICB7Cj4gICAgICAgbl9sb2MgPSAyOwo+ ICAgICAgIGxvY18wID0gMDsKPiAgICAgICBsb2NfMSA9IDA7Cj4gICAgICAg ZXhwciA9IFhFWFAgKGRlc3QsIDApOwo+ICAgICB9Cj4gICAvKiByZWcgPSB6 ZXJvX2V4dGVuZCAobWVtIFsgaW52YXJpYW50ICsgaXYgXSkgKi8KPiAgIGVs c2UgaWYgKEdFVF9DT0RFIChkZXN0KSA9PSBSRUcgJiYgR0VUX0NPREUgKHNy YykgPT0gWkVST19FWFRFTkQpCj4gICAgIHsKPiAgICAgICBpZiAoR0VUX0NP REUgKFhFWFAgKHNyYywgMCkpICE9IE1FTSkKPiAJcmV0dXJuIE5VTEw7Cj4g ICAgICAgCj4gICAgICAgbl9sb2MgPSAzOwo+ICAgICAgIGxvY18wID0gMTsK PiAgICAgICBsb2NfMSA9IDA7Cj4gICAgICAgbG9jXzIgPSAwOwo+ICAgICAg IGV4cHIgPSBYRVhQIChYRVhQIChzcmMsIDApLCAwKTsKPiAgICAgfQo+ICAg ZWxzZSAKPiAgICAgcmV0dXJuIE5VTEw7Cj4gICAKPiAgIGlmIChHRVRfQ09E RSAoZXhwcikgIT0gUExVUykKPiAgICAgcmV0dXJuIE5VTEw7Cj4gICAKPiAg IGxvcCA9IFhFWFAgKGV4cHIsIDApOwo+ICAgcm9wID0gWEVYUCAoZXhwciwg MSk7Cj4gICAKPiAgIGlmICghUkVHX1AgKGxvcCkgfHwgIVJFR19QIChyb3Ap KQo+ICAgICByZXR1cm4gTlVMTDsKPiAgIAo+ICAgLyogTWVtb3J5IHJlZmVy ZW5jZSBpcyBvZiB0aGUgZm9ybTogCj4gICAgICBpbnZhcmlhbnQgKyBpbmR1 Y3Rpb24gdmFyaWFibGUgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAg IAo+ICAgaW5zbjEgPSBpdl9nZXRfcmVhY2hpbmdfZGVmIChpbnNuLCBsb3Ap Owo+ICAgaW5zbjIgPSBpdl9nZXRfcmVhY2hpbmdfZGVmIChpbnNuLCByb3Ap Owo+ICAgCj4gICBpZiAoaXZfYW5hbHl6ZSAoaW5zbjEsIGxvcCwgJml2MSkK PiAgICAgICAmJiAhaXYxLmZpcnN0X3NwZWNpYWwKPiAgICAgICAmJiBpdl9h bmFseXplIChpbnNuMiwgcm9wLCAmaXYyKQo+ICAgICAgICYmICFpdjIuZmly c3Rfc3BlY2lhbAo+ICAgICAgICYmIGl2MS5zdGVwID09IGNvbnN0MF9ydHgK PiAgICAgICAmJiBpdjIubW9kZSA9PSBpdjIuZXh0ZW5kX21vZGUpCj4gICAg IHsKPiAgICAgICBpZiAoaXYyLnN0ZXAgPT0gTlVMTF9SVFgKPiAJICB8fCBH RVRfQ09ERSAoaXYyLnN0ZXApICE9IENPTlNUX0lOVCkKPiAJcmV0dXJuIE5V TEw7Cj4gICAgICAgaWYgKElOVFZBTCAoaXYyLnN0ZXApIDwgMCkKPiAJcmV0 dXJuIE5VTEw7Cj4gICAgICAgaXZ0cyA9IHhtYWxsb2MgKHNpemVvZiAoc3Ry dWN0IGl2X3RvX3NwbGl0KSk7Cj4gICAgICAgaXZ0cy0+aW5zbiA9IGluc247 Cj4gICAgICAgaXZ0cy0+YmFzZV92YXIgPSBOVUxMX1JUWDsKPiAgICAgICBp dnRzLT5zdGVwID0gaXYyLnN0ZXA7Cj4gICAgICAgaXZ0cy0+bl9sb2MgPSBu X2xvYzsKPiAgICAgICBpdnRzLT5sb2NbMF0gPSBsb2NfMDsKPiAgICAgICBp dnRzLT5sb2NbMV0gPSBsb2NfMTsKPiAgICAgICBpdnRzLT5sb2NbMl0gPSBs b2NfMjsKPiAgICAgICByZXR1cm4gaXZ0czsKPiAgICAgfQo+ICAgCj4gICAv KiAgTWVtb3J5IHJlZmVyZW5jZSBpcyBvZiB0aGUgZm9ybTogCj4gICAgICAg aW5kdWN0aW9uIHZhcmlhYmxlICsgaW52YXJpYW50ICovICAgIAo+ICAgaWYg KGl2X2FuYWx5emUgKGluc24xLCBsb3AsICZpdjEpCj4gICAgICAgJiYgIWl2 MS5maXJzdF9zcGVjaWFsCj4gICAgICAgJiYgaXZfYW5hbHl6ZSAoaW5zbjIs IHJvcCwgJml2MikKPiAgICAgICAmJiAhaXYyLmZpcnN0X3NwZWNpYWwKPiAg ICAgICAmJiBpdjIuc3RlcCA9PSBjb25zdDBfcnR4Cj4gICAgICAgJiYgaXYx Lm1vZGUgPT0gaXYxLmV4dGVuZF9tb2RlKQo+ICAgICB7Cj4gICAgICAgaWYg KGl2MS5zdGVwID09IE5VTExfUlRYCj4gCSAgfHwgR0VUX0NPREUgKGl2MS5z dGVwKSAhPSBDT05TVF9JTlQpCj4gICAgICAgICByZXR1cm4gTlVMTDsKPiAg ICAgICBpZiAoSU5UVkFMIChpdjEuc3RlcCkgPCAwKQo+IAlyZXR1cm4gTlVM TDsKPiAgICAgICBpdnRzID0geG1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3QgaXZf dG9fc3BsaXQpKTsKPiAgICAgICBpdnRzLT5pbnNuID0gaW5zbjsKPiAgICAg ICBpdnRzLT5iYXNlX3ZhciA9IE5VTExfUlRYOwo+ICAgICAgIGl2dHMtPnN0 ZXAgPSBpdjEuc3RlcDsKPiAgICAgICBpdnRzLT5uX2xvYyA9IG5fbG9jOwo+ ICAgICAgIGl2dHMtPmxvY1swXSA9IGxvY18wOwo+ICAgICAgIGl2dHMtPmxv Y1sxXSA9IGxvY18xOwo+ICAgICAgIGl2dHMtPmxvY1syXSA9IGxvY18yOyAg ICAgIAo+ICAgICAgIHJldHVybiBpdnRzOwo+ICAgICB9Cj4gICByZXR1cm4g TlVMTDsKPiB9Cj4gCj4gCjE0MzYsMTQ3MGMxNTU1LDE1ODUKPCAgewo8ICAg IHJ0eCBzZXQsIGRlc3Q7CjwgICAgc3RydWN0IHJ0eF9pdiBpdjsKPCAgICBz dHJ1Y3QgaXZfdG9fc3BsaXQgKml2dHM7CjwgICAgCjwgICAgLyogRm9yIG5v dyB3ZSBqdXN0IHNwbGl0IHRoZSBiYXNpYyBpbmR1Y3Rpb24gdmFyaWFibGVz LiAgTGF0ZXIgdGhpcyBtYXkgYmUKPCAgICAgICBleHRlbmRlZCBmb3IgZXhh bXBsZSBieSBzZWxlY3RpbmcgYWxzbyBhZGRyZXNzZXMgb2YgbWVtb3J5IHJl ZmVyZW5jZXMuICAqLwo8ICAgIHNldCA9IHNpbmdsZV9zZXQgKGluc24pOwo8 ICAgIGlmICghc2V0KQo8ICAgICAgcmV0dXJuIE5VTEw7CjwgICAgCjwgICAg ZGVzdCA9IFNFVF9ERVNUIChzZXQpOwo8ICAgIGlmICghUkVHX1AgKGRlc3Qp KQo8ICAgICAgcmV0dXJuIE5VTEw7CjwgICAgCjwgICAgaWYgKCFiaXZfcCAo aW5zbiwgZGVzdCkpCjwgICAgICByZXR1cm4gTlVMTDsKPCAgICAKPCAgICBp ZiAoIWl2X2FuYWx5emUgKGluc24sIGRlc3QsICZpdikpCjwgICAgICBhYm9y dCAoKTsKPCAgICAKPCAgICBpZiAoaXYuc3RlcCA9PSBjb25zdDBfcnR4Cjwg ICAgICAgIHx8IGl2Lm1vZGUgIT0gaXYuZXh0ZW5kX21vZGUpCjwgICAgICBy ZXR1cm4gTlVMTDsKPCAgICAKPCAgICAvKiBSZWNvcmQgdGhlIGluc24gdG8g c3BsaXQuICAqLwo8ICAgIGl2dHMgPSB4bWFsbG9jIChzaXplb2YgKHN0cnVj dCBpdl90b19zcGxpdCkpOwo8ICAgIGl2dHMtPmluc24gPSBpbnNuOwo8ICAg IGl2dHMtPmJhc2VfdmFyID0gTlVMTF9SVFg7CjwgICAgaXZ0cy0+c3RlcCA9 IGl2LnN0ZXA7CjwgICAgaXZ0cy0+bl9sb2MgPSAxOwo8ICAgIGl2dHMtPmxv Y1swXSA9IDE7CjwgICAgCjwgICAgcmV0dXJuIGl2dHM7CjwgIH0KLS0tCj4g ewo+ICAgcnR4IHNldCwgZGVzdDsKPiAgIHN0cnVjdCBydHhfaXYgaXY7Cj4g ICBzdHJ1Y3QgaXZfdG9fc3BsaXQgKml2dHM7Cj4gICAKPiAgIHNldCA9IHNp bmdsZV9zZXQgKGluc24pOwo+ICAgaWYgKCFzZXQpCj4gICAgIHJldHVybiBO VUxMOwo+ICAgCj4gICBkZXN0ID0gU0VUX0RFU1QgKHNldCk7Cj4gICAKPiAg IC8qIFNwbGl0IGJhc2ljIGluZHVjdGlvbiB2YXJpYWJsZXMgaWYgd2UgY2Fu LiAqLwo+ICAgaWYgKFJFR19QIChkZXN0KQo+ICAgICAgICYmIGJpdl9wIChp bnNuLCBkZXN0KQo+ICAgICAgICYmIGl2X2FuYWx5emUgKGluc24sIGRlc3Qs ICZpdikKPiAgICAgICAmJiBpdi5zdGVwICE9IGNvbnN0MF9ydHgKPiAgICAg ICAmJiBpdi5tb2RlID09IGl2LmV4dGVuZF9tb2RlKQo+ICAgICB7Cj4gICAg ICAgLyogUmVjb3JkIHRoZSBpbnNuIHRvIHNwbGl0LiAgKi8KPiAgICAgICBp dnRzID0geG1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3QgaXZfdG9fc3BsaXQpKTsK PiAgICAgICBpdnRzLT5pbnNuID0gaW5zbjsKPiAgICAgICBpdnRzLT5iYXNl X3ZhciA9IE5VTExfUlRYOwo+ICAgICAgIGl2dHMtPnN0ZXAgPSBpdi5zdGVw Owo+ICAgICAgIGl2dHMtPm5fbG9jID0gMTsKPiAgICAgICBpdnRzLT5sb2Nb MF0gPSAxOwo+ICAgICAgIHJldHVybiBpdnRzOwo+ICAgICB9Cj4gICAvKiBD aGVjayBpZiB3ZSBjYW4gc3BsaXQgbWVtb3J5IHJlZmVyZW5jZXMuICovCj4g ICBpdnRzID0gY2FuX3NwbGl0X21lbW9yeV9yZWYgKGluc24pOwo+ICAgcmV0 dXJuIGl2dHM7Cj4gfQo= --=_mixed 0023CC28C2256EEB_=--