From: Karol Herbst Subject: [PATCH v5 1/5] nv50/ir: restructure and rename postraconstantfolding pass Date: Sun, 26 Mar 2017 21:45:57 +0200 Message-ID: <20170326194601.608-2-karolherbst@gmail.com> References: <20170326194601.608-1-karolherbst@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170326194601.608-1-karolherbst-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: mesa-dev-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org d2UgbWlnaHQgd2FudCB0byBhZGQgbW9yZSBmb2xkaW5nIHBhc3NlcyBoZXJlLCBzbyBtYWtlIGl0 IGEgYml0IG1vcmUgZ2VuZXJpYwoKdjI6IGxlYXZlIHRoZSBjb21tZW50IGFuZCByZXdvcmQgY29t bWl0IG1lc3NhZ2UKdjQ6IHJlbmFtZSBpdCB0byBQb3N0UmFMb2FkUHJvcGFnYXRpb24KClNpZ25l ZC1vZmYtYnk6IEthcm9sIEhlcmJzdCA8a2Fyb2xoZXJic3RAZ21haWwuY29tPgpSZXZpZXdlZC1i eTogU2FtdWVsIFBpdG9pc2V0IDxzYW11ZWwucGl0b2lzZXRAZ21haWwuY29tPgotLS0KIC4uLi9k cml2ZXJzL25vdXZlYXUvY29kZWdlbi9udjUwX2lyX3BlZXBob2xlLmNwcCAgIHwgMTIxICsrKysr KysrKysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyksIDU4IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9nYWxsaXVtL2RyaXZlcnMvbm91dmVhdS9jb2Rl Z2VuL252NTBfaXJfcGVlcGhvbGUuY3BwIGIvc3JjL2dhbGxpdW0vZHJpdmVycy9ub3V2ZWF1L2Nv ZGVnZW4vbnY1MF9pcl9wZWVwaG9sZS5jcHAKaW5kZXggZDM1OGFiYzViZC4uYWY1YThjN2ZmZCAx MDA2NDQKLS0tIGEvc3JjL2dhbGxpdW0vZHJpdmVycy9ub3V2ZWF1L2NvZGVnZW4vbnY1MF9pcl9w ZWVwaG9sZS5jcHAKKysrIGIvc3JjL2dhbGxpdW0vZHJpdmVycy9ub3V2ZWF1L2NvZGVnZW4vbnY1 MF9pcl9wZWVwaG9sZS5jcHAKQEAgLTMxODksMTAgKzMxODksMTIgQEAgRmxhdHRlbmluZ1Bhc3M6 OnRyeVByZWRpY2F0ZUNvbmRpdGlvbmFsKEJhc2ljQmxvY2sgKmJiKQogLy8gY29uc3RyYWludCBT RFNUID09IFNTUkMyCiAvLyBUT0RPOgogLy8gRG9lcyBOVkMwKyBoYXZlIG90aGVyIHNpdHVhdGlv bnMgd2hlcmUgdGhpcyBwYXNzIG1ha2VzIHNlbnNlPwotY2xhc3MgTlY1MFBvc3RSYUNvbnN0YW50 Rm9sZGluZyA6IHB1YmxpYyBQYXNzCitjbGFzcyBQb3N0UmFMb2FkUHJvcGFnYXRpb24gOiBwdWJs aWMgUGFzcwogewogcHJpdmF0ZToKLSAgIHZpcnR1YWwgYm9vbCB2aXNpdChCYXNpY0Jsb2NrICop OworICAgdmlydHVhbCBib29sIHZpc2l0KEluc3RydWN0aW9uICopOworCisgICB2b2lkIGhhbmRs ZU1BRChJbnN0cnVjdGlvbiAqKTsKIH07CiAKIHN0YXRpYyBib29sCkBAIC0zMjA0LDY5ICszMjA2 LDcyIEBAIHBvc3RfcmFfZGVhZChJbnN0cnVjdGlvbiAqaSkKICAgIHJldHVybiB0cnVlOwogfQog Ci1ib29sCi1OVjUwUG9zdFJhQ29uc3RhbnRGb2xkaW5nOjp2aXNpdChCYXNpY0Jsb2NrICpiYikK Ky8vIEZvbGQgSW1tZWRpYXRlIGludG8gTUFEOyBtdXN0IGJlIGRvbmUgYWZ0ZXIgcmVnaXN0ZXIg YWxsb2NhdGlvbiBkdWUgdG8KKy8vIGNvbnN0cmFpbnQgU0RTVCA9PSBTU1JDMgordm9pZAorUG9z dFJhTG9hZFByb3BhZ2F0aW9uOjpoYW5kbGVNQUQoSW5zdHJ1Y3Rpb24gKmkpCiB7Ci0gICBWYWx1 ZSAqdnRtcDsKLSAgIEluc3RydWN0aW9uICpkZWY7Ci0KLSAgIGZvciAoSW5zdHJ1Y3Rpb24gKmkg PSBiYi0+Z2V0Rmlyc3QoKTsgaTsgaSA9IGktPm5leHQpIHsKLSAgICAgIHN3aXRjaCAoaS0+b3Ap IHsKLSAgICAgIGNhc2UgT1BfTUFEOgotICAgICAgICAgaWYgKGktPmRlZigwKS5nZXRGaWxlKCkg IT0gRklMRV9HUFIgfHwKLSAgICAgICAgICAgICBpLT5zcmMoMCkuZ2V0RmlsZSgpICE9IEZJTEVf R1BSIHx8Ci0gICAgICAgICAgICAgaS0+c3JjKDEpLmdldEZpbGUoKSAhPSBGSUxFX0dQUiB8fAot ICAgICAgICAgICAgIGktPnNyYygyKS5nZXRGaWxlKCkgIT0gRklMRV9HUFIgfHwKLSAgICAgICAg ICAgICBpLT5nZXREZWYoMCktPnJlZy5kYXRhLmlkICE9IGktPmdldFNyYygyKS0+cmVnLmRhdGEu aWQpCi0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgaWYgKGktPmdldERlZigwKS0+cmVn LmRhdGEuaWQgPj0gNjQgfHwKLSAgICAgICAgICAgICBpLT5nZXRTcmMoMCktPnJlZy5kYXRhLmlk ID49IDY0KQotICAgICAgICAgICAgYnJlYWs7CisgICBpZiAoaS0+ZGVmKDApLmdldEZpbGUoKSAh PSBGSUxFX0dQUiB8fAorICAgICAgIGktPnNyYygwKS5nZXRGaWxlKCkgIT0gRklMRV9HUFIgfHwK KyAgICAgICBpLT5zcmMoMSkuZ2V0RmlsZSgpICE9IEZJTEVfR1BSIHx8CisgICAgICAgaS0+c3Jj KDIpLmdldEZpbGUoKSAhPSBGSUxFX0dQUiB8fAorICAgICAgIGktPmdldERlZigwKS0+cmVnLmRh dGEuaWQgIT0gaS0+Z2V0U3JjKDIpLT5yZWcuZGF0YS5pZCkKKyAgICAgIHJldHVybjsKIAotICAg ICAgICAgaWYgKGktPmZsYWdzU3JjID49IDAgJiYgaS0+Z2V0U3JjKGktPmZsYWdzU3JjKS0+cmVn LmRhdGEuaWQgIT0gMCkKLSAgICAgICAgICAgIGJyZWFrOworICAgaWYgKGktPmdldERlZigwKS0+ cmVnLmRhdGEuaWQgPj0gNjQgfHwKKyAgICAgICBpLT5nZXRTcmMoMCktPnJlZy5kYXRhLmlkID49 IDY0KQorICAgICAgcmV0dXJuOwogCi0gICAgICAgICBpZiAoaS0+Z2V0UHJlZGljYXRlKCkpCi0g ICAgICAgICAgICBicmVhazsKKyAgIGlmIChpLT5mbGFnc1NyYyA+PSAwICYmIGktPmdldFNyYyhp LT5mbGFnc1NyYyktPnJlZy5kYXRhLmlkICE9IDApCisgICAgICByZXR1cm47CiAKLSAgICAgICAg IGRlZiA9IGktPmdldFNyYygxKS0+Z2V0SW5zbigpOwotICAgICAgICAgaWYgKGRlZiAmJiBkZWYt Pm9wID09IE9QX1NQTElUICYmIHR5cGVTaXplb2YoZGVmLT5zVHlwZSkgPT0gNCkKLSAgICAgICAg ICAgIGRlZiA9IGRlZi0+Z2V0U3JjKDApLT5nZXRJbnNuKCk7Ci0gICAgICAgICBpZiAoZGVmICYm IGRlZi0+b3AgPT0gT1BfTU9WICYmIGRlZi0+c3JjKDApLmdldEZpbGUoKSA9PSBGSUxFX0lNTUVE SUFURSkgewotICAgICAgICAgICAgdnRtcCA9IGktPmdldFNyYygxKTsKLSAgICAgICAgICAgIGlm IChpc0Zsb2F0VHlwZShpLT5zVHlwZSkpIHsKLSAgICAgICAgICAgICAgIGktPnNldFNyYygxLCBk ZWYtPmdldFNyYygwKSk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgSW1t ZWRpYXRlVmFsdWUgdmFsOwotICAgICAgICAgICAgICAgYm9vbCByZXQgPSBkZWYtPnNyYygwKS5n ZXRJbW1lZGlhdGUodmFsKTsKLSAgICAgICAgICAgICAgIGFzc2VydChyZXQpOwotICAgICAgICAg ICAgICAgaWYgKGktPmdldFNyYygxKS0+cmVnLmRhdGEuaWQgJiAxKQotICAgICAgICAgICAgICAg ICAgdmFsLnJlZy5kYXRhLnUzMiA+Pj0gMTY7Ci0gICAgICAgICAgICAgICB2YWwucmVnLmRhdGEu dTMyICY9IDB4ZmZmZjsKLSAgICAgICAgICAgICAgIGktPnNldFNyYygxLCBuZXdfSW1tZWRpYXRl VmFsdWUoYmItPmdldFByb2dyYW0oKSwgdmFsLnJlZy5kYXRhLnUzMikpOwotICAgICAgICAgICAg fQorICAgaWYgKGktPmdldFByZWRpY2F0ZSgpKQorICAgICAgcmV0dXJuOwogCi0gICAgICAgICAg ICAvKiBUaGVyZSdzIG5vIHBvc3QtUkEgZGVhZCBjb2RlIGVsaW1pbmF0aW9uLCBzbyBkbyBpdCBo ZXJlCi0gICAgICAgICAgICAgKiBYWFg6IGlmIHdlIGFkZCBtb3JlIGNvZGUtcmVtb3ZpbmcgcG9z dC1SQSBwYXNzZXMsIHdlIG1pZ2h0Ci0gICAgICAgICAgICAgKiAgICAgIHdhbnQgdG8gY3JlYXRl IGEgcG9zdC1SQSBkZWFkLWNvZGUgZWxpbSBwYXNzICovCi0gICAgICAgICAgICBpZiAocG9zdF9y YV9kZWFkKHZ0bXAtPmdldEluc24oKSkpIHsKLSAgICAgICAgICAgICAgIFZhbHVlICpzcmMgPSB2 dG1wLT5nZXRJbnNuKCktPmdldFNyYygwKTsKLSAgICAgICAgICAgICAgIC8vIENhcmVmdWwgLS0g c3BsaXRzIHdpbGwgaGF2ZSBhbHJlYWR5IGJlZW4gcmVtb3ZlZCBmcm9tIHRoZQotICAgICAgICAg ICAgICAgLy8gZnVuY3Rpb25zLiBEb24ndCBkb3VibGUtZGVsZXRlLgotICAgICAgICAgICAgICAg aWYgKHZ0bXAtPmdldEluc24oKS0+YmIpCi0gICAgICAgICAgICAgICAgICBkZWxldGVfSW5zdHJ1 Y3Rpb24ocHJvZywgdnRtcC0+Z2V0SW5zbigpKTsKLSAgICAgICAgICAgICAgIGlmIChzcmMtPmdl dEluc24oKSAmJiBwb3N0X3JhX2RlYWQoc3JjLT5nZXRJbnNuKCkpKQotICAgICAgICAgICAgICAg ICAgZGVsZXRlX0luc3RydWN0aW9uKHByb2csIHNyYy0+Z2V0SW5zbigpKTsKLSAgICAgICAgICAg IH0KKyAgIFZhbHVlICp2dG1wOworICAgSW5zdHJ1Y3Rpb24gKmRlZiA9IGktPmdldFNyYygxKS0+ Z2V0SW5zbigpOworCisgICBpZiAoZGVmICYmIGRlZi0+b3AgPT0gT1BfU1BMSVQgJiYgdHlwZVNp emVvZihkZWYtPnNUeXBlKSA9PSA0KQorICAgICAgZGVmID0gZGVmLT5nZXRTcmMoMCktPmdldElu c24oKTsKKyAgIGlmIChkZWYgJiYgZGVmLT5vcCA9PSBPUF9NT1YgJiYgZGVmLT5zcmMoMCkuZ2V0 RmlsZSgpID09IEZJTEVfSU1NRURJQVRFKSB7CisgICAgICB2dG1wID0gaS0+Z2V0U3JjKDEpOwor ICAgICAgaWYgKGlzRmxvYXRUeXBlKGktPnNUeXBlKSkgeworICAgICAgICAgaS0+c2V0U3JjKDEs IGRlZi0+Z2V0U3JjKDApKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgICBJbW1lZGlhdGVWYWx1 ZSB2YWw7CisgICAgICAgICBib29sIHJldCA9IGRlZi0+c3JjKDApLmdldEltbWVkaWF0ZSh2YWwp OworICAgICAgICAgYXNzZXJ0KHJldCk7CisgICAgICAgICBpZiAoaS0+Z2V0U3JjKDEpLT5yZWcu ZGF0YS5pZCAmIDEpCisgICAgICAgICAgICB2YWwucmVnLmRhdGEudTMyID4+PSAxNjsKKyAgICAg ICAgIHZhbC5yZWcuZGF0YS51MzIgJj0gMHhmZmZmOworICAgICAgICAgaS0+c2V0U3JjKDEsIG5l d19JbW1lZGlhdGVWYWx1ZShwcm9nLCB2YWwucmVnLmRhdGEudTMyKSk7CisgICAgICB9CiAKLSAg ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgfQotICAgICAgICAgYnJlYWs7Ci0gICAgICBkZWZh dWx0OgotICAgICAgICAgYnJlYWs7CisgICAgICAvKiBUaGVyZSdzIG5vIHBvc3QtUkEgZGVhZCBj b2RlIGVsaW1pbmF0aW9uLCBzbyBkbyBpdCBoZXJlCisgICAgICAgKiBYWFg6IGlmIHdlIGFkZCBt b3JlIGNvZGUtcmVtb3ZpbmcgcG9zdC1SQSBwYXNzZXMsIHdlIG1pZ2h0CisgICAgICAgKiAgICAg IHdhbnQgdG8gY3JlYXRlIGEgcG9zdC1SQSBkZWFkLWNvZGUgZWxpbSBwYXNzICovCisgICAgICBp ZiAocG9zdF9yYV9kZWFkKHZ0bXAtPmdldEluc24oKSkpIHsKKyAgICAgICAgIFZhbHVlICpzcmMg PSB2dG1wLT5nZXRJbnNuKCktPmdldFNyYygwKTsKKyAgICAgICAgIC8vIENhcmVmdWwgLS0gc3Bs aXRzIHdpbGwgaGF2ZSBhbHJlYWR5IGJlZW4gcmVtb3ZlZCBmcm9tIHRoZQorICAgICAgICAgLy8g ZnVuY3Rpb25zLiBEb24ndCBkb3VibGUtZGVsZXRlLgorICAgICAgICAgaWYgKHZ0bXAtPmdldElu c24oKS0+YmIpCisgICAgICAgICAgICBkZWxldGVfSW5zdHJ1Y3Rpb24ocHJvZywgdnRtcC0+Z2V0 SW5zbigpKTsKKyAgICAgICAgIGlmIChzcmMtPmdldEluc24oKSAmJiBwb3N0X3JhX2RlYWQoc3Jj LT5nZXRJbnNuKCkpKQorICAgICAgICAgICAgZGVsZXRlX0luc3RydWN0aW9uKHByb2csIHNyYy0+ Z2V0SW5zbigpKTsKICAgICAgIH0KICAgIH0KK30KKworYm9vbAorUG9zdFJhTG9hZFByb3BhZ2F0 aW9uOjp2aXNpdChJbnN0cnVjdGlvbiAqaSkKK3sKKyAgIHN3aXRjaCAoaS0+b3ApIHsKKyAgIGNh c2UgT1BfTUFEOgorICAgICAgaGFuZGxlTUFEKGkpOworICAgICAgYnJlYWs7CisgICBkZWZhdWx0 OgorICAgICAgYnJlYWs7CisgICB9CiAKICAgIHJldHVybiB0cnVlOwogfQpAQCAtMzY5Myw3ICsz Njk4LDcgQEAgUHJvZ3JhbTo6b3B0aW1pemVQb3N0UkEoaW50IGxldmVsKQogewogICAgUlVOX1BB U1MoMiwgRmxhdHRlbmluZ1Bhc3MsIHJ1bik7CiAgICBpZiAoZ2V0VGFyZ2V0KCktPmdldENoaXBz ZXQoKSA8IDB4YzApCi0gICAgICBSVU5fUEFTUygyLCBOVjUwUG9zdFJhQ29uc3RhbnRGb2xkaW5n LCBydW4pOworICAgICAgUlVOX1BBU1MoMiwgUG9zdFJhTG9hZFByb3BhZ2F0aW9uLCBydW4pOwog CiAgICByZXR1cm4gdHJ1ZTsKIH0KLS0gCjIuMTIuMAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KTm91dmVhdSBtYWlsaW5nIGxpc3QKTm91dmVhdUBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9ub3V2ZWF1Cg==