From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19346 invoked by alias); 18 Aug 2004 16:16:17 -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 19322 invoked from network); 18 Aug 2004 16:16:14 -0000 Received: from unknown (HELO mtagate4.de.ibm.com) (195.212.29.153) by sourceware.org with SMTP; 18 Aug 2004 16:16:14 -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 i7IGGD69023772; Wed, 18 Aug 2004 16:16:13 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 i7IGGCp9064700; Wed, 18 Aug 2004 18:16:13 +0200 To: stevenb@suse.de Cc: gcc-patches@gcc.gnu.org MIME-Version: 1.0 Subject: [Patch] Splitting memory references during unrolling (resubmission) From: Revital Eres Message-ID: Date: Wed, 18 Aug 2004 16:39:00 -0000 Content-Type: multipart/mixed; boundary="=_mixed 0059716DC2256EF4_=" X-SW-Source: 2004-08/txt/msg01336.txt.bz2 --=_mixed 0059716DC2256EF4_= Content-Type: text/plain; charset="US-ASCII" Content-length: 665 Hello, I fixed the patch according to your comments. The diff file is relative to the splitting induction variables patch due to the fact it is not in the mainline yet. Bootstrapped (with -funroll-all-loops) & regression tests on POWER4. Revital 2004-08-17 Revital Eres * loop-unroll.c: (analyze_memory_ref_containing_iv): 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 0059716DC2256EF4_= Content-Type: application/octet-stream; name="diff_iv_17_8" Content-Disposition: attachment; filename="diff_iv_17_8" Content-Transfer-Encoding: base64 Content-length: 6698 VGhpcyBkaWZmIGlzIHJlbGF0aXZlIHRvIGxvb3AtdW5yb2xsLmMgZmlsZSBh cwp3YXMgc3VibWl0dGVkIGluIHRoZSBwYXRjaDoKaHR0cDovL2djYy5nbnUu b3JnL21sL2djYy1wYXRjaGVzLzIwMDQtMDgvbXNnMDAzOTcuaHRtbC4KCgox MTFkMTEwCjwgc3RhdGljIHN0cnVjdCBpdl90b19zcGxpdCAqYW5hbHl6ZV9t ZW1vcnlfcmVmX2NvbnRhaW5pbmdfaXYgKHJ0eCk7CjE0MzAsMTU0NGMxNDMw CjwgCjwgLyogRGV0ZXJtaW5lIHdoZXRoZXIgSU5TTiBjb250YWlucyBtZW1v cnkgcmVmZXJlbmNlCjwgICAgd2hpY2ggdXNlcyBhbiBpbmR1Y3Rpb24gdmFy aWFibGUuICBJZiB0aGVyZSBpcyBhIG1lbW9yeSAKPCAgICByZWZlcmVuY2Ug YVtpXSBpbiB0aGUgbG9vcCBib2R5IGl0IGNhbiBiZSB0cmFuc2Zvcm1lZCAg CjwgICAgaW50byB0aGUgZm9sbG93aW5nIGluIHRoZSB1bnJvbGxlZCBsb29w LCB3aGVyZSBpIGlzIGFuCjwgICAgaW5kdWN0aW9uIHZhcmlhYmxlIGFuZCBi YXNlID0gJmEraToKPCAgICAKPCAgICBsb2FkIDQoYmFzZSkKPCAgICBsb2Fk IDgoYmFzZSkKPCAgICBsb2FkIDEyKGJhc2UpCjwgICAgLgo8ICAgIC4KPCAq Lwo8IHN0YXRpYyBzdHJ1Y3QgaXZfdG9fc3BsaXQgKgo8IGFuYWx5emVfbWVt b3J5X3JlZl9jb250YWluaW5nX2l2IChydHggaW5zbikKPCB7CjwgICBzdHJ1 Y3QgaXZfdG9fc3BsaXQgKml2dHM7CjwgICBydHggbG9wLCByb3AsIGV4cHI7 CjwgICBpbnQgbl9sb2MsIGxvY18wLCBsb2NfMSwgbG9jXzIgPSAtMTsKPCAg IHJ0eCBzZXQsIGRlc3QsIHNyYzsKPCAgIHJ0eCBpbnNuMSA9IE5VTExfUlRY LCBpbnNuMiA9IE5VTExfUlRYOwo8ICAgc3RydWN0IHJ0eF9pdiBpdjEsIGl2 MiwgaXY7CjwgICAKPCAgIHNldCA9IHNpbmdsZV9zZXQgKGluc24pOwo8ICAg aWYgKCFzZXQpCjwgICAgIHJldHVybiBOVUxMOwo8ICAgCjwgICBkZXN0ID0g U0VUX0RFU1QgKHNldCk7CjwgICBzcmMgPSBTRVRfU1JDIChzZXQpOwo8ICAg CjwgICAvKiAgcmVnID0gbWVtIFsgaW52YXJpYW50ICsgaXYgXSAqLwo8ICAg aWYgKChSRUdfUCAoZGVzdCkKPCAgICAgICAgfHwgKEdFVF9DT0RFIChkZXN0 KSA9PSBTVUJSRUcKPCAJICAgJiYgUkVHX1AgKFNVQlJFR19SRUcgKGRlc3Qp KSkpCjwgICAgICAgJiYgTUVNX1AgKHNyYykpCjwgICAgIHsKPCAgICAgICBu X2xvYyA9IDI7CjwgICAgICAgbG9jXzAgPSAxOwo8ICAgICAgIGxvY18xID0g MDsKPCAgICAgICBleHByID0gIFhFWFAgKHNyYywgMCk7IAo8ICAgICB9Cjwg ICAvKiBtZW0gWyBpbnZhcmlhbnQgKyBpdiBdID0gcmVnICovCjwgICBlbHNl IGlmICgoUkVHX1AgKHNyYykKPCAgICAgICAgICAgICB8fCAoR0VUX0NPREUg KHNyYykgPT0gU1VCUkVHCjwgICAgICAgICAgICAgICAgICYmIFJFR19QIChT VUJSRUdfUkVHIChzcmMpKSkpCjwgICAgICAgICAgICAmJiBNRU1fUCAoZGVz dCkpCjwgICAgIHsKPCAgICAgICBuX2xvYyA9IDI7CjwgICAgICAgbG9jXzAg PSAwOwo8ICAgICAgIGxvY18xID0gMDsKPCAgICAgICBleHByID0gWEVYUCAo ZGVzdCwgMCk7CjwgICAgIH0KPCAgIC8qIHJlZyA9IHplcm9fZXh0ZW5kICht ZW0gWyBpbnZhcmlhbnQgKyBpdiBdKSAqLwo8ICAgZWxzZSBpZiAoR0VUX0NP REUgKGRlc3QpID09IFJFRyAKPCAJICAgJiYgR0VUX0NPREUgKHNyYykgPT0g WkVST19FWFRFTkQKPCAgICAgICAgICAgICYmIE1FTV9QIChYRVhQIChzcmMs IDApKSkKPCAgICAgewo8ICAgICAgIG5fbG9jID0gMzsKPCAgICAgICBsb2Nf MCA9IDE7CjwgICAgICAgbG9jXzEgPSAwOwo8ICAgICAgIGxvY18yID0gMDsK PCAgICAgICBleHByID0gWEVYUCAoWEVYUCAoc3JjLCAwKSwgMCk7CjwgICAg IH0KPCAgIGVsc2UgCjwgICAgIHJldHVybiBOVUxMOwo8ICAgCjwgICBpZiAo R0VUX0NPREUgKGV4cHIpICE9IFBMVVMpCjwgICAgIHJldHVybiBOVUxMOwo8 ICAgCjwgICBsb3AgPSBYRVhQIChleHByLCAwKTsKPCAgIHJvcCA9IFhFWFAg KGV4cHIsIDEpOwo8ICAgCjwgICBpZiAoIVJFR19QIChsb3ApIHx8ICFSRUdf UCAocm9wKSkKPCAgICAgcmV0dXJuIE5VTEw7CjwgICAKPCAgIGluc24xID0g aXZfZ2V0X3JlYWNoaW5nX2RlZiAoaW5zbiwgbG9wKTsKPCAgIGluc24yID0g aXZfZ2V0X3JlYWNoaW5nX2RlZiAoaW5zbiwgcm9wKTsKPCAgIAo8ICAgLyog TWVtb3J5IHJlZmVyZW5jZSBpcyBvZiB0aGUgZm9ybTogCjwgICAgICBpbnZh cmlhbnQgKyBpbmR1Y3Rpb24gdmFyaWFibGUgCjwgICAgICBvciBpbmR1Y3Rp b24gdmFyaWFibGUgKyBpbnZhcmlhbnQuICAqLwo8ICAgaWYgKGl2X2FuYWx5 emUgKGluc24xLCBsb3AsICZpdjEpCjwgICAgICAgJiYgIWl2MS5maXJzdF9z cGVjaWFsCjwgICAgICAgJiYgaXZfYW5hbHl6ZSAoaW5zbjIsIHJvcCwgJml2 MikKPCAgICAgICAmJiAhaXYyLmZpcnN0X3NwZWNpYWwKPCAgICAgICAmJiAo KGl2MS5zdGVwID09IGNvbnN0MF9ydHgKPCAgICAgICAgICAgICYmIGl2Mi5t b2RlID09IGl2Mi5leHRlbmRfbW9kZSkKPCAgICAgICAgICAgfHwgKGl2Mi5z dGVwID09IGNvbnN0MF9ydHgKPCAgICAgICAgICAgICAgICYmIGl2MS5tb2Rl ID09IGl2MS5leHRlbmRfbW9kZSkpKQo8ICAgICB7CjwgICAgICAgaWYgKGl2 MS5zdGVwID09IGNvbnN0MF9ydHgpCjwgCWl2ID0gaXYyOwo8ICAgICAgIGVs c2UKPCAJaXYgPSBpdjE7CjwgICAgICAgaWYgKGl2LnN0ZXAgPT0gTlVMTF9S VFgKPCAJICB8fCBHRVRfQ09ERSAoaXYuc3RlcCkgIT0gQ09OU1RfSU5UKQo8 IAlyZXR1cm4gTlVMTDsKPCAgICAgICBpZiAoSU5UVkFMIChpdi5zdGVwKSA8 IDApCjwgCXJldHVybiBOVUxMOwo8ICAgICAgIC8qIFJlY29yZCB0aGUgaW5z biB0byBzcGxpdC4gICovCjwgICAgICAgaXZ0cyA9IHhtYWxsb2MgKHNpemVv ZiAoc3RydWN0IGl2X3RvX3NwbGl0KSk7CjwgICAgICAgaXZ0cy0+aW5zbiA9 IGluc247CjwgICAgICAgaXZ0cy0+YmFzZV92YXIgPSBOVUxMX1JUWDsKPCAg ICAgICBpdnRzLT5zdGVwID0gaXYuc3RlcDsKPCAgICAgICBpdnRzLT5uX2xv YyA9IG5fbG9jOwo8ICAgICAgIGl2dHMtPmxvY1swXSA9IGxvY18wOwo8ICAg ICAgIGl2dHMtPmxvY1sxXSA9IGxvY18xOwo8ICAgICAgIGl2dHMtPmxvY1sy XSA9IGxvY18yOwo8ICAgICAgIHJldHVybiBpdnRzOwo8ICAgICB9CjwgICBy ZXR1cm4gTlVMTDsKPCB9CjwgCjwgCjwgCi0tLQo+ICAKMTU1MCwxNTg0YzE0 MzYsMTQ3MQo8IHsKPCAgIHJ0eCBzZXQsIGRlc3Q7CjwgICBzdHJ1Y3QgcnR4 X2l2IGl2Owo8ICAgc3RydWN0IGl2X3RvX3NwbGl0ICppdnRzOwo8ICAgCjwg ICBzZXQgPSBzaW5nbGVfc2V0IChpbnNuKTsKPCAgIGlmICghc2V0KQo8ICAg ICByZXR1cm4gTlVMTDsKPCAgIAo8ICAgZGVzdCA9IFNFVF9ERVNUIChzZXQp Owo8ICAgaWYgKFJFR19QIChkZXN0KSAKPCAgICAgICAmJiBiaXZfcCAoaW5z biwgZGVzdCkKPCAgICAgICAmJiAhaXZfYW5hbHl6ZSAoaW5zbiwgZGVzdCwg Jml2KSkKPCAgICAgYWJvcnQgKCk7CjwgICAKPCAgIC8qIFNwbGl0IGJhc2lj IGluZHVjdGlvbiB2YXJpYWJsZXMgaWYgd2UgY2FuLiAgKi8KPCAgIGlmIChS RUdfUCAoZGVzdCkKPCAgICAgICAmJiBiaXZfcCAoaW5zbiwgZGVzdCkgICAg CjwgICAgICAgJiYgaXYuc3RlcCAhPSBjb25zdDBfcnR4CjwgICAgICAgJiYg aXYubW9kZSA9PSBpdi5leHRlbmRfbW9kZSkKPCAgICAgewo8ICAgICAgIC8q IFJlY29yZCB0aGUgaW5zbiB0byBzcGxpdC4gICovCjwgICAgICAgaXZ0cyA9 IHhtYWxsb2MgKHNpemVvZiAoc3RydWN0IGl2X3RvX3NwbGl0KSk7CjwgICAg ICAgaXZ0cy0+aW5zbiA9IGluc247CjwgICAgICAgaXZ0cy0+YmFzZV92YXIg PSBOVUxMX1JUWDsKPCAgICAgICBpdnRzLT5zdGVwID0gaXYuc3RlcDsKPCAg ICAgICBpdnRzLT5uX2xvYyA9IDE7CjwgICAgICAgaXZ0cy0+bG9jWzBdID0g MTsKPCAgICAgICByZXR1cm4gaXZ0czsKPCAgICAgfQo8ICAgLyogQ2hlY2sg aWYgd2UgY2FuIHNwbGl0IG1lbW9yeSByZWZlcmVuY2VzLiAgKi8KPCAgIGl2 dHMgPSBhbmFseXplX21lbW9yeV9yZWZfY29udGFpbmluZ19pdiAoaW5zbik7 CjwgICByZXR1cm4gaXZ0czsKPCB9CjwgCi0tLQo+ICB7Cj4gICAgcnR4IHNl dCwgZGVzdDsKPiAgICBzdHJ1Y3QgcnR4X2l2IGl2Owo+ICAgIHN0cnVjdCBp dl90b19zcGxpdCAqaXZ0czsKPiAgICAKPiAgICAvKiBGb3Igbm93IHdlIGp1 c3Qgc3BsaXQgdGhlIGJhc2ljIGluZHVjdGlvbiB2YXJpYWJsZXMuICBMYXRl ciB0aGlzIG1heSBiZQo+ICAgICAgIGV4dGVuZGVkIGZvciBleGFtcGxlIGJ5 IHNlbGVjdGluZyBhbHNvIGFkZHJlc3NlcyBvZiBtZW1vcnkgcmVmZXJlbmNl cy4gICovCj4gICAgc2V0ID0gc2luZ2xlX3NldCAoaW5zbik7Cj4gICAgaWYg KCFzZXQpCj4gICAgICByZXR1cm4gTlVMTDsKPiAgICAKPiAgICBkZXN0ID0g U0VUX0RFU1QgKHNldCk7Cj4gICAgaWYgKCFSRUdfUCAoZGVzdCkpCj4gICAg ICByZXR1cm4gTlVMTDsKPiAgICAKPiAgICBpZiAoIWJpdl9wIChpbnNuLCBk ZXN0KSkKPiAgICAgIHJldHVybiBOVUxMOwo+ICAgIAo+ICAgIGlmICghaXZf YW5hbHl6ZSAoaW5zbiwgZGVzdCwgJml2KSkKPiAgICAgIGFib3J0ICgpOwo+ ICAgIAo+ICAgIGlmIChpdi5zdGVwID09IGNvbnN0MF9ydHgKPiAgICAgICAg fHwgaXYubW9kZSAhPSBpdi5leHRlbmRfbW9kZSkKPiAgICAgIHJldHVybiBO VUxMOwo+ICAgIAo+ICAgIC8qIFJlY29yZCB0aGUgaW5zbiB0byBzcGxpdC4g ICovCj4gICAgaXZ0cyA9IHhtYWxsb2MgKHNpemVvZiAoc3RydWN0IGl2X3Rv X3NwbGl0KSk7Cj4gICAgaXZ0cy0+aW5zbiA9IGluc247Cj4gICAgaXZ0cy0+ YmFzZV92YXIgPSBOVUxMX1JUWDsKPiAgICBpdnRzLT5zdGVwID0gaXYuc3Rl cDsKPiAgICBpdnRzLT5uX2xvYyA9IDE7Cj4gICAgaXZ0cy0+bG9jWzBdID0g MTsKPiAgICAKPiAgICByZXR1cm4gaXZ0czsKPiAgfQo+ICAK --=_mixed 0059716DC2256EF4_=--