From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by sourceware.org (Postfix) with ESMTP id BFEC6385840B for ; Fri, 5 Aug 2022 12:56:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BFEC6385840B Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 10D76113E; Fri, 5 Aug 2022 05:56:59 -0700 (PDT) Received: from [10.57.14.36] (unknown [10.57.14.36]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A45E03F73B; Fri, 5 Aug 2022 05:56:57 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------tvDLyEMgiOC5eWvj6eEkN9Xb" Message-ID: <69a0dc52-4125-1d25-fa2b-4acf6cc3b80f@arm.com> Date: Fri, 5 Aug 2022 13:56:48 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: [PATCH 3/4] match.pd: Teach forwprop to handle VLA VEC_PERM_EXPRs with VLS CONSTRUCTORs as arguments Content-Language: en-US To: gcc-patches@gcc.gnu.org References: <95d2de77-5b68-6d0b-ac99-ac1ca28835e2@arm.com> Cc: Richard Sandiford , Prathamesh Kulkarni From: "Andre Vieira (lists)" In-Reply-To: <95d2de77-5b68-6d0b-ac99-ac1ca28835e2@arm.com> X-Spam-Status: No, score=-23.5 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Aug 2022 12:57:00 -0000 This is a multi-part message in MIME format. --------------tvDLyEMgiOC5eWvj6eEkN9Xb Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, This patch is part of the WIP patch that follows in this series. It's goal is to teach forwprop to handle VLA VEC_PERM_EXPRs with VLS CONSTRUCTORs as arguments as preparation for the 'VLA constructor' hook approach. Kind Regards, Andre --------------tvDLyEMgiOC5eWvj6eEkN9Xb Content-Type: text/plain; charset=UTF-8; name="sve_const_dup_3.patch" Content-Disposition: attachment; filename="sve_const_dup_3.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9tYXRjaC5wZCBiL2djYy9tYXRjaC5wZAppbmRleCA5NzM2Mzkz MDYxYWFjNjFkNGQ1M2FhYWQ2Y2Y2YjJjOTdhN2Q0Njc5Li4zYzNjMGM2YTg4YjM1YTZlNDJj NTA2ZjZjNDYwMzY4MGZlNmU0MzE4IDEwMDY0NAotLS0gYS9nY2MvbWF0Y2gucGQKKysrIGIv Z2NjL21hdGNoLnBkCkBAIC03ODUyLDE0ICs3ODUyLDI0IEBAIGFuZCwKICAgICBpZiAoIXRy ZWVfdG9fdmVjX3Blcm1fYnVpbGRlciAoJmJ1aWxkZXIsIG9wMikpCiAgICAgICByZXR1cm4g TlVMTF9UUkVFOwogCisgICAgLyogRklYTUU6IGRpc2FibGUgZm9sZGluZyBvZiBhIFZFQ19Q RVJNX0VYUFIgd2l0aCBhIFZMQSBtYXNrIGFuZCBWTFMKKyAgICAgICBDT05TVFJVQ1RPUlMs IHNpbmNlIHRoYXQgd291bGQgeWllbGQgYSBWTEEgQ09OU1RSVUNUT1Igd2hpY2ggd2UKKyAg ICAgICBjdXJyZW50bHkgZG8gbm90IHN1cHBvcnQuICAqLworICAgIGlmICghVFlQRV9WRUNU T1JfU1VCUEFSVFMgKHR5cGUpLmlzX2NvbnN0YW50ICgpCisJJiYgKFRZUEVfVkVDVE9SX1NV QlBBUlRTIChUUkVFX1RZUEUgKG9wMCkpLmlzX2NvbnN0YW50ICgpCisJICAgIHx8IFRZUEVf VkVDVE9SX1NVQlBBUlRTIChUUkVFX1RZUEUgKG9wMSkpLmlzX2NvbnN0YW50ICgpKSkKKyAg ICAgIHJldHVybiBOVUxMX1RSRUU7CisKICAgICAvKiBDcmVhdGUgYSB2ZWNfcGVybV9pbmRp Y2VzIGZvciB0aGUgaW50ZWdlciB2ZWN0b3IuICAqLwogICAgIHBvbHlfdWludDY0IG5lbHRz ID0gVFlQRV9WRUNUT1JfU1VCUEFSVFMgKHR5cGUpOwogICAgIGJvb2wgc2luZ2xlX2FyZyA9 IChvcDAgPT0gb3AxKTsKICAgICB2ZWNfcGVybV9pbmRpY2VzIHNlbCAoYnVpbGRlciwgc2lu Z2xlX2FyZyA/IDEgOiAyLCBuZWx0cyk7CiAgIH0KLSAgKGlmIChzZWwuc2VyaWVzX3AgKDAs IDEsIDAsIDEpKQorICAoaWYgKHNlbC5zZXJpZXNfcCAoMCwgMSwgMCwgMSkKKyAgICAgICAm JiB1c2VsZXNzX3R5cGVfY29udmVyc2lvbl9wICh0eXBlLCBUUkVFX1RZUEUgKG9wMCkpKQog ICAgeyBvcDA7IH0KLSAgIChpZiAoc2VsLnNlcmllc19wICgwLCAxLCBuZWx0cywgMSkpCisg ICAoaWYgKHNlbC5zZXJpZXNfcCAoMCwgMSwgbmVsdHMsIDEpCisJJiYgdXNlbGVzc190eXBl X2NvbnZlcnNpb25fcCAodHlwZSwgVFJFRV9UWVBFIChvcDEpKSkKICAgICB7IG9wMTsgfQog ICAgICh3aXRoCiAgICAgIHsKZGlmZiAtLWdpdCBhL2djYy90cmVlLXNzYS1mb3J3cHJvcC5j YyBiL2djYy90cmVlLXNzYS1mb3J3cHJvcC5jYwppbmRleCBmZGM0YmM4OTA5ZDI3NjM4NzY1 NTBlNTMyNzdmZjJiM2RjY2E3OTZhLi5jZGE5MWMyMWM0NzZlYTg2MTFlMTJjNTkzYmZhNjRl MWQ3MWRkMjllIDEwMDY0NAotLS0gYS9nY2MvdHJlZS1zc2EtZm9yd3Byb3AuY2MKKysrIGIv Z2NjL3RyZWUtc3NhLWZvcndwcm9wLmNjCkBAIC0yNjYxLDcgKzI2NjEsNyBAQCBzaW1wbGlm eV9wZXJtdXRhdGlvbiAoZ2ltcGxlX3N0bXRfaXRlcmF0b3IgKmdzaSkKIAogICAgICAgLyog U2h1ZmZsZSBvZiBhIGNvbnN0cnVjdG9yLiAgKi8KICAgICAgIGJvb2wgcmV0ID0gZmFsc2U7 Ci0gICAgICB0cmVlIHJlc190eXBlID0gVFJFRV9UWVBFIChhcmcwKTsKKyAgICAgIHRyZWUg cmVzX3R5cGUgPSBUUkVFX1RZUEUgKGdpbXBsZV9nZXRfbGhzIChzdG10KSk7CiAgICAgICB0 cmVlIG9wdCA9IGZvbGRfdGVybmFyeSAoVkVDX1BFUk1fRVhQUiwgcmVzX3R5cGUsIGFyZzAs IGFyZzEsIG9wMik7CiAgICAgICBpZiAoIW9wdAogCSAgfHwgKFRSRUVfQ09ERSAob3B0KSAh PSBDT05TVFJVQ1RPUiAmJiBUUkVFX0NPREUgKG9wdCkgIT0gVkVDVE9SX0NTVCkpCg== --------------tvDLyEMgiOC5eWvj6eEkN9Xb--