| Message ID | patch-20683-tamar@arm.com |
|---|---|
| State | New |
| Headers |
Return-Path: <gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 16B2F4BA2E19 for <patchwork@sourceware.org>; Tue, 7 Jul 2026 10:18:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 16B2F4BA2E19 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=qJrRRSH+; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=qJrRRSH+ X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazlp170120005.outbound.protection.outlook.com [IPv6:2a01:111:f403:c200::5]) by sourceware.org (Postfix) with ESMTPS id 3BB9B4BA23C5 for <gcc-patches@gcc.gnu.org>; Tue, 7 Jul 2026 10:14:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3BB9B4BA23C5 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 3BB9B4BA23C5 Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c200::5 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1783419274; cv=pass; b=TzELoKoW/+MNKAZT2QaXX79x+ZDg8WpFCS3OlDCbwIMVRjqvja+/R2ygYA/tg8GS85kwMaHO9D+2Yrn0X7WnNPoDP9h8gx6BkdA7M7LJj55I5gvexhHXUKJ6oe4dkG3PF+CQcXGf7rwJGkmu1Y19qKBWk8Nt0pFoosG18PvlJqY= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1783419274; c=relaxed/simple; bh=YM1dMxuNTD2FuToFtvHSCS6TZokjd7NH6WOwrz+mAWE=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=tscWWWbEATm7Pu7lSnRdpa5x4CIMC+iREs4aqgmCpCetXaZyqHBUqVX8KVNG/rh1Gak5CtNk9n2qumoYiJQfwvZU9e4Bc5Ylw/MKN7+8Yk4AChD5JoAGIGYUeWctIHUBDfkLXAEdAcECrWKsCeGLpujARwjRg/h1QdVKxQfevvw= ARC-Authentication-Results: i=3; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=qJrRRSH+; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=qJrRRSH+ DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3BB9B4BA23C5 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=gaiQeZ/RUP7tJLyBLeDjGOQLO2KPdX6zaQEYAE2hGvkhXxdvJ+gb8gC2JKJQdzsxQHDTBIkuZvPRJq29jNxhXEvOTaw8Q4ITUFR0xvzR2BpkU6Faaurh+JmQoeD57yG5jvwmYJdwmyjawMBuHT63jNWTmrUYgcWslWn9s/K142g0PZxhVaeDbOe1xs/2R8ZHLBLrrq8EmPmkvG9cHmcOQgi30+8TOS34eUS2erEEJpyayJ+NL79A2kLcm+yQVVXRq09CnAVHLf+jThDwNE011z2yz2JqfdkVeEBwF7j2PpQQzYixLRM0vwyCVHWYRDrH79KabGgyPod30cQUYGZCXw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8Kcgkde5p5DLsrCFtgT3Eqe572ulv4H1kTuxbefHrwo=; b=dAn0omTh8yaJeL9ej0OTQSRSWWQLmwGrpEhGpGz6a5yFZb0EJrcfs3iqYPnEQ1y3i9BEF2BDDQles1emHB7pZZ6nlf4U/lIG5+MiVQyjm5N/LGEKZtlFTgiAgUTNt1iwrAZmO4taKX6qcpcDfkLWRwTcW2RlM/YzspNYsijep4oFAhGXd7aphqMg+aNR+LxzCe0JwA09FrNXLbcKZlTCW60uZ7mCv1DIsotyjHrgSPTDr0CtKcSND2M1TJIBe/skfhCZvto3LOB1BKlBIMO/pc5Yhzauus40phMxFkdh84aEojpc66t37v5GYM7KuN0AUTOBggDwlLp61HFgZTuXOg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8Kcgkde5p5DLsrCFtgT3Eqe572ulv4H1kTuxbefHrwo=; b=qJrRRSH+stseX4Z2Z/iIisjPxgrzzL2jJ6qrH4VOUkwCgW3k8fH5DmxzgX5/CHY5apQn+pQcYCHLrfW9MVUszEFNO4Xvr7hyGvH6PCOdKiy+G294jlVfjS218Thtl1joJzU0h+UePm0jg/3EkAqf+HeomTSyaRcEwBuspGCFk3M= Received: from DUZPR01CA0051.eurprd01.prod.exchangelabs.com (2603:10a6:10:469::15) by DB3PR08MB9085.eurprd08.prod.outlook.com (2603:10a6:10:43b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.10; Tue, 7 Jul 2026 10:14:24 +0000 Received: from DB5PEPF00014B97.eurprd02.prod.outlook.com (2603:10a6:10:469:cafe::71) by DUZPR01CA0051.outlook.office365.com (2603:10a6:10:469::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.181.13 via Frontend Transport; Tue, 7 Jul 2026 10:14:24 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by DB5PEPF00014B97.mail.protection.outlook.com (10.167.8.235) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.181.6 via Frontend Transport; Tue, 7 Jul 2026 10:14:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IyxTOsXx8MObiQXNcyEVeTJETYdJ2DMwFvBhXIQIc01gQRa5H0tnIWeucLmo0mi+U4eRULpo5m5JnHO1sQuWquLvyrNKhfWUGNVWZ6dI0ZPQlC2aYu/a4yNRW2+hUAkBmXQSQeJGkVi/Gu/G4wVPeZXhVYt5mW0+eRzYE6SFrJbHJflor1VnouDKjwNA2cS22hmnCLSkl05MWe+1LOTbIiPrXlor+6Pr3hrfmjHMr4LwO7G9rpzVEIht/3hbnKVZLEt+/HREoMPEtRsRrJltTVEAkK0fHe4VsUxz2DkGnImErzmtFt4FciUAyzWyrGqodv+QXc0E7rNAzcNjkxYmdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8Kcgkde5p5DLsrCFtgT3Eqe572ulv4H1kTuxbefHrwo=; b=w0qX9At78CJTq70sWK/YL+F2AhtL50b2ObZIDkHZeiwB009Ag2BcVecIrN5prW0z5NI9uN5e7eBmGh/56tpemA/Z5XXV5/dPrHfveU00biNb9tpjhIEouV8+t7Qu8TjcTF8zb+KWrOxFaPcrfph7NMzHzMYZH+bnaz6aOnwPv1QuqrcZE+WTdVcDvZ/KR+zqNVdPtvzBOYAFyQllrjtX/Hm86C8wCmFPVNf4sSCvo/AspVhPeX/KcExN/wU7YZyjPYnElpBse4ShaSdRRi/7y+XCYcVk6A1A+NYatXQzT7FIw2Ji7Oc2x2uTh21qIFlp09aWDEcm4JCU1fiUaAfA3w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8Kcgkde5p5DLsrCFtgT3Eqe572ulv4H1kTuxbefHrwo=; b=qJrRRSH+stseX4Z2Z/iIisjPxgrzzL2jJ6qrH4VOUkwCgW3k8fH5DmxzgX5/CHY5apQn+pQcYCHLrfW9MVUszEFNO4Xvr7hyGvH6PCOdKiy+G294jlVfjS218Thtl1joJzU0h+UePm0jg/3EkAqf+HeomTSyaRcEwBuspGCFk3M= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI0PR08MB10392.eurprd08.prod.outlook.com (2603:10a6:800:210::10) by PAVPR08MB9039.eurprd08.prod.outlook.com (2603:10a6:102:322::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.10; Tue, 7 Jul 2026 10:13:21 +0000 Received: from VI0PR08MB10392.eurprd08.prod.outlook.com ([fe80::cd7c:e19a:2072:75cc]) by VI0PR08MB10392.eurprd08.prod.outlook.com ([fe80::cd7c:e19a:2072:75cc%4]) with mapi id 15.21.0181.009; Tue, 7 Jul 2026 10:13:21 +0000 Date: Tue, 7 Jul 2026 11:13:19 +0100 From: Tamar Christina <tamar.christina@arm.com> To: gcc-patches@gcc.gnu.org Cc: nd@arm.com, rguenther@suse.de Subject: [patch 1/3]middle-end: enable ranger in gimple-isel Message-ID: <patch-20683-tamar@arm.com> Content-Type: multipart/mixed; boundary="w+EoMVCWDEtN065z" Content-Disposition: inline X-ClientProxiedBy: LO3P123CA0001.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:ba::6) To VI0PR08MB10392.eurprd08.prod.outlook.com (2603:10a6:800:210::10) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI0PR08MB10392:EE_|PAVPR08MB9039:EE_|DB5PEPF00014B97:EE_|DB3PR08MB9085:EE_ X-MS-Office365-Filtering-Correlation-Id: af80731d-7d86-4787-b9bc-08dedc1084d6 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|1800799024|366016|23010399003|6049299003|376014|6133799003|18002099003|11063799006|56012099006|4053099003; X-Microsoft-Antispam-Message-Info-Original: M6qctaCW54kaQ/V56UWS64Qq9/lKBays9PRyO8U8ezyszfcZgQqyL1hr3Bh+Rq66uTqLeYosG7mooUx2GGXnnEMMro0El5EOfXPMzY8yoC4PiokP2pLHbzAtogEQw1iZBsZ9oSxIeCMmFDTAPm5+pWd9vc8XAP6lQn4qcJ8byaVLzjtwmKWaYFyctLxXTOzPNbU2KB4iERX/MrCSK7aXEHGRsG7f7oQEnfAS9d77afi8PrknT0kJ1pyBMYgV2hGqrz3cotG4VCY8EJBC3N/Ug9k57t2K5R8o5k37JkMskDtdksXjKRebVHRtfEdDCmpouhASuObOSDY9WLfXjx6RcLtNT5RPivumSyGNzWOIZRqINIdrSuVcSunIto6+7N2CyEjVhnpokuEey7p84nSYqaCX1kWCzTx+3YIvGnKPRarWbTWJxHl2M/iPDUOI3EatVQCDltf/LvUxQGRqudCro+hJAu3lwixT/7iytcfnTE4lehkLdP/x4R1SV1HQeJ3ifULeHs162JV7cC8GXdJn+c77Iu9VXXTxPrS2LdvhYDjfhvlXkeJMc8nBVjQKsGc+talvAPW9iH/pCXRcAnBBKZy0BVi0IXf2zGnpSDmDke3pjoZMII7Gfnm2Pjz9Nwd8PzkSXOXsJRrysZUQ4+RDYExphxcPzpVIXMkTBQTxZtA= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10392.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(6049299003)(376014)(6133799003)(18002099003)(11063799006)(56012099006)(4053099003); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: TjkTjk5bINf3DZIhvRV/+5SJwHIyGQcfjpXBZ1B7hyXRZD86NhEF9SljuhPfKBdYbtFFU4IRPnTF67vS8sO1rbks0Ev7ojfvTGvvvrEHBRbU4KJMAXfOgAqmuc8ijsBvbPuxW7uaTykRbTni3rF5s1jB1pAsU4IaBdyGqEnnvjQ1y3rkaVoYf/5Qcv7DAelsIQE8bSmBJOwE0hh18ipKJUfSGbMT3QqRs9dcrBR10mj+itwMQ0w6RQUH02hsr6uwi5y1tmCNppwUoWCV9eRm3I+IZH1pDjkzAd7oUgSWfy+nuop8KaQUncTKUfLnsyUQxFzVngZLCTB0T7FeIYaUfw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9039 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B97.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 5ffccb40-65a8-4439-28d0-08dedc105f64 X-Microsoft-Antispam: BCL:0; ARA:13230040|14060799003|82310400026|35042699022|23010399003|6049299003|376014|36860700016|1800799024|18002099003|6133799003|56012099006|11063799006|4053099003; X-Microsoft-Antispam-Message-Info: EZhpGMw7hSC8Rez9L9cMNAs+77ZIlItE0Gm4+ZuvzPWFP2276b7pEin2sXdklqI+TW5anRXkvPf1DJeWjUuvTf/obJq+yViP81m4ndL1WEhQ3iZzONngKdwfKo4ZgRgEqY7YXeJExZS0J7W59T12EyeSDTJtHT/aoTa/9H3iF1f32i8gkbb9MGN6GSohfW2BzdqxyoKBisCHWD6WaSXilcNti/r5B0QWF/dDZhVYYEyl4KhEocArUVwQT8F5PxXLDfel+MBMxiTCvlp6rbm4CeKw61CuwvI6KyiGwRffLo4lCe6t6KgBKDmzc125shjdCmtVW3sxeoFNq79XpGhQQFnr/RYp9CV77qnK4ht+PnDtTWB6O2dDsfY0kksqbcikKACwxD0NST9v4aCtuVAAjjojfAINL/qCx4NPhLScc4Of5Spy0UzrKJHlfpr56M10iY8s2BLBoUQy5qXP1YaI2zlDRlAILDAfNqF/5Ad4scSKfZ+TA1CIEpGrz7neXaFjY1LvwYn6rOdfV4cMJQTzNn+NPAlm8GYz1ABXEPApxKjpHk28UNdBSqPGYct23k0qWO6mIgUXuGblAonPkUbHcfbiDjnbLXkRHhmKkwJo1B516FCOnZZ514Z/+CCekSrCzHeWA2fBaVQmO593NKWOmxviXP68cixyhtsHlsW5IAeAHCTolbsstdOVbewYWMhAo9AkI2KW6NNiL4khyaKT1g== X-Forefront-Antispam-Report: CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(14060799003)(82310400026)(35042699022)(23010399003)(6049299003)(376014)(36860700016)(1800799024)(18002099003)(6133799003)(56012099006)(11063799006)(4053099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9lts97Yt8q4OvreBVC55YKP9VjDQdAFhlSPA2zfrYq6gJcOfDGugLpIKvbU6K34/GmeeGbD2iR3La9b59tlZgGZzswZGPA/6d258v0Sx64ONac0w4vzBuODg9t6xElgeAisqBvHSfYU6uAUa9DA1Xckg1YJbfP3IhoR59zNCLH5O1VSUx+6GchNvFjhMkfYkhwoQIHd33AIdoeJUMhmHvZATfK+Oybz9+D9RkDNB/F8uJOoq6Pyu88uK/m2WNiP200Pbh+IleO4eSfpe+nfy4sU5GD+06ZK7OnHgd+VXcJgFRvEXTtoI9QBHCUPqWzdZa54Bmb7aNbOy7sA2dHYxaAU/12YgLb/u6FVpcQbYSrVwObE+TKsSVjw26qTD53ovhb6lGMuWGmU8xYpdLeZK6iYpjN164rpRjtIFwT/B3xMOV/BHhjOFFcsYs2/gP0Fa X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2026 10:14:23.8980 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: af80731d-7d86-4787-b9bc-08dedc1084d6 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129]; Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: DB5PEPF00014B97.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB9085 X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, TXREP shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> Errors-To: gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org |
| Series |
[1/3] middle-end: enable ranger in gimple-isel
|
|
Commit Message
Tamar Christina
July 7, 2026, 10:13 a.m. UTC
This enabled ranger for use in isel to do some ranged based foldings. Not much else to write about this one :) Bootstrapped Regtested on aarch64-none-linux-gnu, arm-none-linux-gnueabihf, x86_64-pc-linux-gnu -m32, -m64 and no issues. Ok for master? Thanks, Tamar gcc/ChangeLog: * gimple-isel.cc (pass_gimple_isel::execute): Enable and disable ranger on fun. --- --
Comments
On Tue, 7 Jul 2026, Tamar Christina wrote: > This enabled ranger for use in isel to do some ranged based foldings. > > Not much else to write about this one :) > > Bootstrapped Regtested on aarch64-none-linux-gnu, > arm-none-linux-gnueabihf, x86_64-pc-linux-gnu > -m32, -m64 and no issues. > > Ok for master? > > Thanks, > Tamar > > gcc/ChangeLog: > > * gimple-isel.cc (pass_gimple_isel::execute): Enable and disable ranger > on fun. > > --- > diff --git a/gcc/gimple-isel.cc b/gcc/gimple-isel.cc > index b193e27b183e1a83d73369b629c81ea0d7db43cd..0bd3a2f732922bc939c9d5fb4a221764def6e756 100644 > --- a/gcc/gimple-isel.cc > +++ b/gcc/gimple-isel.cc > @@ -40,6 +40,8 @@ along with GCC; see the file COPYING3. If not see > #include "gimple-fold.h" > #include "internal-fn.h" > #include "fold-const.h" > +#include "gimple-range.h" > + > > /* Expand all ARRAY_REF(VIEW_CONVERT_EXPR) gimple assignments into calls to > internal function based on vector type of selected expansion. > @@ -1352,6 +1354,9 @@ pass_gimple_isel::execute (struct function *fun) > gimple_stmt_iterator gsi; > basic_block bb; > bool cfg_changed = false; > + bool created_ranger = get_range_query (fun) == get_global_range_query (); > + if (created_ranger) > + enable_ranger (fun); We shouldn't have an active ranger across passes, do we? I do not see us folding stmts here, not .WHILE_ULT anyway, so I'm missing the point of this (in isolation). That said, just enable_ranger()/disable_ranger() w/o checks is OK with me, hopefully all the cost is on-demand. > FOR_EACH_BB_FN (bb, fun) > { > @@ -1390,6 +1395,8 @@ pass_gimple_isel::execute (struct function *fun) > } > } > > + if (created_ranger) > + disable_ranger (fun); > return cfg_changed ? TODO_cleanup_cfg : 0; > } > > > >
> -----Original Message----- > From: Richard Biener <rguenther@suse.de> > Sent: 07 July 2026 12:32 > To: Tamar Christina <Tamar.Christina@arm.com> > Cc: gcc-patches@gcc.gnu.org; nd <nd@arm.com> > Subject: Re: [patch 1/3]middle-end: enable ranger in gimple-isel > > On Tue, 7 Jul 2026, Tamar Christina wrote: > > > This enabled ranger for use in isel to do some ranged based foldings. > > > > Not much else to write about this one :) > > > > Bootstrapped Regtested on aarch64-none-linux-gnu, > > arm-none-linux-gnueabihf, x86_64-pc-linux-gnu > > -m32, -m64 and no issues. > > > > Ok for master? > > > > Thanks, > > Tamar > > > > gcc/ChangeLog: > > > > * gimple-isel.cc (pass_gimple_isel::execute): Enable and disable ranger > > on fun. > > > > --- > > diff --git a/gcc/gimple-isel.cc b/gcc/gimple-isel.cc > > index > b193e27b183e1a83d73369b629c81ea0d7db43cd..0bd3a2f732922bc939c > 9d5fb4a221764def6e756 100644 > > --- a/gcc/gimple-isel.cc > > +++ b/gcc/gimple-isel.cc > > @@ -40,6 +40,8 @@ along with GCC; see the file COPYING3. If not see > > #include "gimple-fold.h" > > #include "internal-fn.h" > > #include "fold-const.h" > > +#include "gimple-range.h" > > + > > > > /* Expand all ARRAY_REF(VIEW_CONVERT_EXPR) gimple assignments into > calls to > > internal function based on vector type of selected expansion. > > @@ -1352,6 +1354,9 @@ pass_gimple_isel::execute (struct function *fun) > > gimple_stmt_iterator gsi; > > basic_block bb; > > bool cfg_changed = false; > > + bool created_ranger = get_range_query (fun) == get_global_range_query > (); > > + if (created_ranger) > > + enable_ranger (fun); > > We shouldn't have an active ranger across passes, do we? I do not > see us folding stmts here, not .WHILE_ULT anyway, so I'm missing > the point of this (in isolation). I'm explicitly using the on demand querying for querying the operands of the WHILE_ULT. I placed it here since it's cheaper than enabling and disabling it every time in the target hook? > > That said, just enable_ranger()/disable_ranger() w/o checks is OK > with me, hopefully all the cost is on-demand. Fair, I thought I had to guard it since enable_ranger checks for an existing range instance. But I suppose since other passes should have cleaned up their instances this shouldn't be needed and indeed I don't see it checked in other places. Should have grepped before. Will respin. Thanks, Tamar > > > FOR_EACH_BB_FN (bb, fun) > > { > > @@ -1390,6 +1395,8 @@ pass_gimple_isel::execute (struct function *fun) > > } > > } > > > > + if (created_ranger) > > + disable_ranger (fun); > > return cfg_changed ? TODO_cleanup_cfg : 0; > > } > > > > > > > > > > -- > Richard Biener <rguenther@suse.de> > SUSE Software Solutions Germany GmbH, > Frankenstrasse 146, 90461 Nuernberg, Germany; > GF: Jochen Jaser, Andrew McDonald; (HRB 36809, AG Nuernberg)
On 7/7/26 07:32, Richard Biener wrote: > On Tue, 7 Jul 2026, Tamar Christina wrote: > >> This enabled ranger for use in isel to do some ranged based foldings. >> >> Not much else to write about this one :) >> >> Bootstrapped Regtested on aarch64-none-linux-gnu, >> arm-none-linux-gnueabihf, x86_64-pc-linux-gnu >> -m32, -m64 and no issues. >> >> Ok for master? >> >> Thanks, >> Tamar >> >> gcc/ChangeLog: >> >> * gimple-isel.cc (pass_gimple_isel::execute): Enable and disable ranger >> on fun. >> >> --- >> diff --git a/gcc/gimple-isel.cc b/gcc/gimple-isel.cc >> index b193e27b183e1a83d73369b629c81ea0d7db43cd..0bd3a2f732922bc939c9d5fb4a221764def6e756 100644 >> --- a/gcc/gimple-isel.cc >> +++ b/gcc/gimple-isel.cc >> @@ -40,6 +40,8 @@ along with GCC; see the file COPYING3. If not see >> #include "gimple-fold.h" >> #include "internal-fn.h" >> #include "fold-const.h" >> +#include "gimple-range.h" >> + >> >> /* Expand all ARRAY_REF(VIEW_CONVERT_EXPR) gimple assignments into calls to >> internal function based on vector type of selected expansion. >> @@ -1352,6 +1354,9 @@ pass_gimple_isel::execute (struct function *fun) >> gimple_stmt_iterator gsi; >> basic_block bb; >> bool cfg_changed = false; >> + bool created_ranger = get_range_query (fun) == get_global_range_query (); >> + if (created_ranger) >> + enable_ranger (fun); > We shouldn't have an active ranger across passes, do we? I do not > see us folding stmts here, not .WHILE_ULT anyway, so I'm missing > the point of this (in isolation). > > That said, just enable_ranger()/disable_ranger() w/o checks is OK > with me, hopefully all the cost is on-demand. No active rangers across passes. Any cross-pass info is through SSA_NAME_RANGE_INFO. And yes, enable_ranger has very little cost until its actually used, and then it is on demand as needed. Andrew
On Wed, 8 Jul 2026, Tamar Christina wrote: > This enabled ranger for use in isel to do some ranged based foldings. > > Not much else to write about this one :) > > Bootstrapped Regtested on aarch64-none-linux-gnu, > arm-none-linux-gnueabihf, x86_64-pc-linux-gnu > -m32, -m64 and no issues. > > Ok for master? OK. > Thanks, > Tamar > > gcc/ChangeLog: > > * gimple-isel.cc (pass_gimple_isel::execute): Enable and disable ranger > on fun. > > --- > diff --git a/gcc/gimple-isel.cc b/gcc/gimple-isel.cc > index b193e27b183e1a83d73369b629c81ea0d7db43cd..46cd0f7e79cc1e99b29365a93fdf2c5f284c688b 100644 > --- a/gcc/gimple-isel.cc > +++ b/gcc/gimple-isel.cc > @@ -40,6 +40,8 @@ along with GCC; see the file COPYING3. If not see > #include "gimple-fold.h" > #include "internal-fn.h" > #include "fold-const.h" > +#include "gimple-range.h" > + > > /* Expand all ARRAY_REF(VIEW_CONVERT_EXPR) gimple assignments into calls to > internal function based on vector type of selected expansion. > @@ -1352,6 +1354,7 @@ pass_gimple_isel::execute (struct function *fun) > gimple_stmt_iterator gsi; > basic_block bb; > bool cfg_changed = false; > + enable_ranger (fun); > > FOR_EACH_BB_FN (bb, fun) > { > @@ -1390,6 +1393,7 @@ pass_gimple_isel::execute (struct function *fun) > } > } > > + disable_ranger (fun); > return cfg_changed ? TODO_cleanup_cfg : 0; > } > > > >
On Wed, 8 Jul 2026, Richard Biener wrote: > On Wed, 8 Jul 2026, Tamar Christina wrote: > > > This enabled ranger for use in isel to do some ranged based foldings. > > > > Not much else to write about this one :) > > > > Bootstrapped Regtested on aarch64-none-linux-gnu, > > arm-none-linux-gnueabihf, x86_64-pc-linux-gnu > > -m32, -m64 and no issues. > > > > Ok for master? > > OK. Or rather, since ISEL also runs at -O0 please guard with if (optimize) > > Thanks, > > Tamar > > > > gcc/ChangeLog: > > > > * gimple-isel.cc (pass_gimple_isel::execute): Enable and disable ranger > > on fun. > > > > --- > > diff --git a/gcc/gimple-isel.cc b/gcc/gimple-isel.cc > > index b193e27b183e1a83d73369b629c81ea0d7db43cd..46cd0f7e79cc1e99b29365a93fdf2c5f284c688b 100644 > > --- a/gcc/gimple-isel.cc > > +++ b/gcc/gimple-isel.cc > > @@ -40,6 +40,8 @@ along with GCC; see the file COPYING3. If not see > > #include "gimple-fold.h" > > #include "internal-fn.h" > > #include "fold-const.h" > > +#include "gimple-range.h" > > + > > > > /* Expand all ARRAY_REF(VIEW_CONVERT_EXPR) gimple assignments into calls to > > internal function based on vector type of selected expansion. > > @@ -1352,6 +1354,7 @@ pass_gimple_isel::execute (struct function *fun) > > gimple_stmt_iterator gsi; > > basic_block bb; > > bool cfg_changed = false; > > + enable_ranger (fun); > > > > FOR_EACH_BB_FN (bb, fun) > > { > > @@ -1390,6 +1393,7 @@ pass_gimple_isel::execute (struct function *fun) > > } > > } > > > > + disable_ranger (fun); > > return cfg_changed ? TODO_cleanup_cfg : 0; > > } > > > > > > > > > >
diff --git a/gcc/gimple-isel.cc b/gcc/gimple-isel.cc index b193e27b183e1a83d73369b629c81ea0d7db43cd..0bd3a2f732922bc939c9d5fb4a221764def6e756 100644 --- a/gcc/gimple-isel.cc +++ b/gcc/gimple-isel.cc @@ -40,6 +40,8 @@ along with GCC; see the file COPYING3. If not see #include "gimple-fold.h" #include "internal-fn.h" #include "fold-const.h" +#include "gimple-range.h" + /* Expand all ARRAY_REF(VIEW_CONVERT_EXPR) gimple assignments into calls to internal function based on vector type of selected expansion. @@ -1352,6 +1354,9 @@ pass_gimple_isel::execute (struct function *fun) gimple_stmt_iterator gsi; basic_block bb; bool cfg_changed = false; + bool created_ranger = get_range_query (fun) == get_global_range_query (); + if (created_ranger) + enable_ranger (fun); FOR_EACH_BB_FN (bb, fun) { @@ -1390,6 +1395,8 @@ pass_gimple_isel::execute (struct function *fun) } } + if (created_ranger) + disable_ranger (fun); return cfg_changed ? TODO_cleanup_cfg : 0; }