From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10060.outbound.protection.outlook.com [40.107.1.60]) by sourceware.org (Postfix) with ESMTPS id 96E5538708EA for ; Mon, 28 Dec 2020 13:37:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 96E5538708EA Received: from AM5PR0101CA0032.eurprd01.prod.exchangelabs.com (2603:10a6:206:16::45) by AM6PR08MB3047.eurprd08.prod.outlook.com (2603:10a6:209:4c::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.30; Mon, 28 Dec 2020 13:37:08 +0000 Received: from VE1EUR03FT019.eop-EUR03.prod.protection.outlook.com (2603:10a6:206:16:cafe::22) by AM5PR0101CA0032.outlook.office365.com (2603:10a6:206:16::45) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.27 via Frontend Transport; Mon, 28 Dec 2020 13:37:07 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;gcc.gnu.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT019.mail.protection.outlook.com (10.152.18.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.27 via Frontend Transport; Mon, 28 Dec 2020 13:37:06 +0000 Received: ("Tessian outbound 6ec21dac9dd3:v71"); Mon, 28 Dec 2020 13:37:06 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 3f274f65aba36dec X-CR-MTA-TID: 64aa7808 Received: from d2972789b3c0.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 0BC93C50-901F-4D6A-8F5D-1F0F0B6F69EF.1; Mon, 28 Dec 2020 13:36:51 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d2972789b3c0.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 28 Dec 2020 13:36:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NotA105UObvEiNKVv/2/Oce834YXGR7sVolc3JxLhwj/szxOs1lv7rs3uSwTAgSw2MbcOxSRxPYER8mgmRB+nZH+BCXLbDIibD4quSYsYSJyJjA+UalM7pU2oGRGu1D77ONgm56sOfigIz3OCyCBYd6RvEoCxxOA2yoQcr3Sp1zQ5eB3wVHz4sPjkpPSdXCJCQIQAqtyoDdxr7j5Pu1ykXn1KqrxNYl/AeZq4S9oEwEbFDBMlU4AD/kjZFyjwMfo+fNF7t6nb8fYv6G2PPe0URhO0K78N70shXb2/s2IcbITZe2dfdCB7J7+XBW3vm2QlUhvvQjCyAuERldQK0iCWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IpK9zsMe5Q3TwGrG9gCvYNcZ3R7+fAFeFe/fE0FirCI=; b=j8o+Ezul0KoxYQwmNJ0q1fpw/7wfX5CPY2gRnskIhiUAhm5olAmw4EPNOk3w7HIlytY15GuPXddyE0i+s1IIK6AB46x1RXv4gNcWd/mK0ini7PALz0Ihro5AGToCAu6txwEBEHbVBPjuXiuiO8ChJLN4LqbODppnoGae5v+8mUkDKTh5krdkT2w1FHFX7AiXcaOnPuj8v4lCzCc+IyC4sEj3nSUglxqruO8pMY5WQGg9AfvJ8597pi9SQU405BXjsGz1C66KWiso5hiEd/cRm47LMkyIEGsXtbH3k/tMhwYwMEOFntxEoV9XulvSWuxMHT3fdEy1eqsy4+kT5SCP1g== 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 Authentication-Results-Original: gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by VE1PR08MB5135.eurprd08.prod.outlook.com (2603:10a6:803:108::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.27; Mon, 28 Dec 2020 13:36:50 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::f937:5b3:12e1:8297]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::f937:5b3:12e1:8297%7]) with mapi id 15.20.3700.031; Mon, 28 Dec 2020 13:36:50 +0000 Date: Mon, 28 Dec 2020 13:36:41 +0000 From: Tamar Christina To: gcc-patches@gcc.gnu.org Cc: nd@arm.com, rguenther@suse.de, ook@ucw.cz Subject: [PATCH 3/8 v9]middle-end slp: handle externals correctly in linear_loads_p Message-ID: <20201228133639.GA22403@arm.com> Content-Type: multipart/mixed; boundary="6TrnltStXW4iwmi0" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) X-Originating-IP: [217.140.106.53] X-ClientProxiedBy: DM6PR18CA0036.namprd18.prod.outlook.com (2603:10b6:5:15b::49) To VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from arm.com (217.140.106.53) by DM6PR18CA0036.namprd18.prod.outlook.com (2603:10b6:5:15b::49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.27 via Frontend Transport; Mon, 28 Dec 2020 13:36:48 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 0ce00c57-8f6a-4b42-34e6-08d8ab35ab63 X-MS-TrafficTypeDiagnostic: VE1PR08MB5135:|AM6PR08MB3047: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:7219;OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: gB+fojQ9DGSdZQ+6KHxn7Lac/GZX/nv3eb2pIijoi/17uU7M38ojevl7HqEl+gVtP9JQUL1arwGvj/4h2wwDmQMIr+orYHHLgQlb4DnRqFbRy9RUWLtoRRzudGwe3VHViCnWkX1/WFhpAGHYu1ZtYNf8ICk0P97c2iI7ZClzI80iZq+GFZdM4oLVCL/ZEmc/qSTU+v/HKvDAQh376Oc8I2igAqV21dwAE0RlPHMrrXQBtUBS8IwxN+aO0l9kf/bJRRGbsNfxYaQ1pF2VrYLUaKLI+tSs49Xvms8JnofAM1p7JzXkRj5tEct/HXKzdQ/Gs4YUTkJxNZQ2UdBM+ZbJQ7X/di0iQQOoPerlz5vNwSW9DBUF81uEFVDxlnRnoo3UUcw++5pE1sJJGzDZTpjIFH5aRR3NrHnO0dBIfS/WJYjzI6Wu1GH1fV2n55MGMU6x X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB5325.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(136003)(39860400002)(366004)(346002)(376002)(478600001)(44144004)(956004)(16526019)(186003)(5660300002)(8936002)(6666004)(6916009)(66476007)(66556008)(55016002)(33964004)(66946007)(66616009)(33656002)(2616005)(36756003)(8676002)(4743002)(52116002)(7696005)(235185007)(2906002)(86362001)(26005)(4326008)(316002)(44832011)(8886007)(1076003)(2700100001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?NWhmcHRjaWM3UzMyb0d6aWxSWHB3RStFdVdFa3orY1NjaXJFMGJXLzhXa2I0?= =?utf-8?B?bTVIYXo5ZmluSDFVVVdOeEZ4R2VGUnA5Q29wSENLTDZxb0tTdlAveTVZbWgr?= =?utf-8?B?ZENoZXBzVjdZays0OXBBSjI0ZkRjakJlSVhGU28zcm82b2JrTUhiT1pxNFYx?= =?utf-8?B?QTVISDlCVjdXTUNoZXBZdEZ6TWZLektIcHFzMTNLWWNHYlJSdDgwbWh4WVpR?= =?utf-8?B?cTRmZVh4dnRMY2lCZ1owUzltUkdPaW9XWVBJUTlGU0g5bGxWRWcrWDMwRmlQ?= =?utf-8?B?V2R3YXJ2N0xnZ25GTjFzdlVYdnpCajhPS1c2dTZleVBaZkdKSklhT1U4bUwz?= =?utf-8?B?WlFHYVIzWjBadWxSd2J1Zy9JUTZHQzFkeDZzYi9uUnROLzlvdjVrcUxyQ09J?= =?utf-8?B?MVV4aHlhSlB6NWRXU2xtVEw1VTZtYXZRT0E0U2VaSnJYeEN3cGMycEFvbDlM?= =?utf-8?B?QUJRc0VVcWF1MEZyVHNYUG15TkV6OWpDajR6OXV4eWdINDFpdHYwdVl5Y0ZF?= =?utf-8?B?VUhmQlU2aU5tbzFBWTRCSHgxYXh3L0dJR2lxK3ZIZHhyc3FacStmcnh0K0oz?= =?utf-8?B?R0ZVeWwrK2RNbTY1YjgyZ2VtRGNxOGgxUTNuWm9STFRwQllPVUNlNVRiK0Y0?= =?utf-8?B?aEtTbVNJY2dqWUhhdVU0WThJWXBsTzEzTytjMGdlRTBaYkZYZytINEI3UHFh?= =?utf-8?B?aDZHbmdlSDdiQ09RcUVoSjM0Skl6RjI3bkZYT2IvT1o5WW5FdlMwYml4Q3VL?= =?utf-8?B?VHpoblQ3SlJrek55RWNaSG9USHdSWGhHdXcrRytEcEw4bnpwT3RPZGdJM0Yx?= =?utf-8?B?NGVSR281alc0V0thaWJYVm50TTA2MlR0YStVZDAzcEpEVXFweWRjU3ZneW8w?= =?utf-8?B?WTR4WCtERU9ha21lQ1N3OXdvVVJoU1Y2QUp5cW9idHJuT05EeTlSR1FpcVU5?= =?utf-8?B?NlhtUUo2TmlsVFdEMWtmdURrRGcrc3YyY2JNTXV4VkRMTHhvdTVmT3pIVTBL?= =?utf-8?B?UVBlTnhWanJtRGpFOEJ5RlRNZWlJUHpNTjhhRnUyZUp5bjBJRExzWE10clA5?= =?utf-8?B?N2RwWWFhRkEwMnE2dml4ZWdsY0U0cm9GRzVRY296VjZnMG5HckNTd01UaDhs?= =?utf-8?B?VE54Y1kyMTZxTVpEY3N0SjN5SWlHNWhjL251RnNMcUlWT3prWlNxVjhwWFBh?= =?utf-8?B?aFE2V2theU9FelNmTUtadTNEdHlJbDlFSFR3bjlxcFhSbjNoSG1iTnJHSnhS?= =?utf-8?B?d0gwM3FzUXJOQzJZMVU2ejhhNHZoODJqYjJNQy9yZkM2NVhQNjU2L2JSai9u?= =?utf-8?Q?Ae3hyjPhk/CLFVBxM1BlHwwx7ZDj8IlnEE?= X-MS-Exchange-Transport-Forked: True X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5135 Original-Authentication-Results: gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT019.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: ba9fa9e5-79ef-43c4-8e40-08d8ab35a151 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KzK/b8u8RB6UMhJ1Wr2mvQTrd0jmprFAJ1QdXdQF50yDeJfr0Uzh7KS8nbV6PaOB6K3RziPGeNeiDxfGWFko0bIgzFLVEjuWV3JMxx7cMKsroc+Y2z6Cr/ACRedKYz0wwbpzJyvB8npRkECmAf1O7pEgit5tO3kSB781KbW6JDVDddVweRox+Niks6KHCfefEErt5JIqsrwuudcr9OLyytHBFPm2Rl7Rdvb5EnWMBMC+MxKGKBkSRPDCYd+BuCrjCc2YYj8sZt7uUvwO+9rEphwfzu83KQ8SW4/j8q94C47+xrW21f3Ab3RWqLP3b/DKrQc0+SSMBGWG/AiHKduoGypBG4O4wFcMxi94EFPF4o0oxlTjMULT7FXcNnyVnpZGX+J7euN3l7xaGMlYiC1v4GSB5gzPqRapmhmGZM1iyrRJoKq6e9lGOf5OcPioxQEpKGrEUg42Lfc9w0fq1xwM/MjTIgoOqyn+EjviVSw8pI6R211sjtrTBWbugahbK/zv X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(376002)(346002)(396003)(136003)(39860400002)(46966006)(55016002)(8676002)(8886007)(235185007)(16526019)(6666004)(336012)(316002)(2616005)(5660300002)(4326008)(956004)(26005)(81166007)(33964004)(44144004)(6916009)(8936002)(7696005)(86362001)(36756003)(82310400003)(47076005)(44832011)(356005)(1076003)(186003)(4743002)(66616009)(478600001)(70206006)(2906002)(70586007)(82740400003)(33656002)(2700100001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2020 13:37:06.8627 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0ce00c57-8f6a-4b42-34e6-08d8ab35ab63 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT019.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3047 X-Spam-Status: No, score=-14.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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: Mon, 28 Dec 2020 13:37:12 -0000 --6TrnltStXW4iwmi0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Hi All, This fixes a bug with externals and linear_loads_p where I forgot to save the value before returning. It also fixes handling of nodes with multiple children on a non VEC_PERM node. There the child iteration would already resolve the kind and the loads are All expected to be the same if valid so just return one. Bootstrapped Regtested on aarch64-none-linux-gnu, x86_64-pc-linux-gnu and no issues. Ok for master? Thanks, Tamar gcc/ChangeLog: * tree-vect-slp-patterns.c (linear_loads_p): Fix externals. --- inline copy of patch -- diff --git a/gcc/tree-vect-slp-patterns.c b/gcc/tree-vect-slp-patterns.c index 7fd79d91c6ba4ccdbf361307a6105fb7e46aa961..235c0741c78b04f14725751ec399c0fdb32a0823 100644 --- a/gcc/tree-vect-slp-patterns.c +++ b/gcc/tree-vect-slp-patterns.c @@ -229,6 +229,7 @@ linear_loads_p (slp_tree_to_load_perm_map_t *perm_cache, slp_tree root) else if (SLP_TREE_DEF_TYPE (root) != vect_internal_def) { retval.first = PERM_TOP; + perm_cache->put (root, retval); return retval; } @@ -241,6 +242,7 @@ linear_loads_p (slp_tree_to_load_perm_map_t *perm_cache, slp_tree root) complex_load_perm_t res = linear_loads_p (perm_cache, child); kind = vect_merge_perms (kind, res.first); /* Unknown and Top are not valid on blends as they produce no permute. */ + retval.first = kind; if (kind == PERM_UNKNOWN || kind == PERM_TOP) return retval; all_loads.safe_push (res.second); @@ -258,7 +260,7 @@ linear_loads_p (slp_tree_to_load_perm_map_t *perm_cache, slp_tree root) retval.first = kind; retval.second = nloads; } - else if (all_loads.length () == 1) + else { retval.first = kind; retval.second = all_loads[0]; -- --6TrnltStXW4iwmi0 Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="rb13958.patch" diff --git a/gcc/tree-vect-slp-patterns.c b/gcc/tree-vect-slp-patterns.c index 7fd79d91c6ba4ccdbf361307a6105fb7e46aa961..235c0741c78b04f14725751ec399c0fdb32a0823 100644 --- a/gcc/tree-vect-slp-patterns.c +++ b/gcc/tree-vect-slp-patterns.c @@ -229,6 +229,7 @@ linear_loads_p (slp_tree_to_load_perm_map_t *perm_cache, slp_tree root) else if (SLP_TREE_DEF_TYPE (root) != vect_internal_def) { retval.first = PERM_TOP; + perm_cache->put (root, retval); return retval; } @@ -241,6 +242,7 @@ linear_loads_p (slp_tree_to_load_perm_map_t *perm_cache, slp_tree root) complex_load_perm_t res = linear_loads_p (perm_cache, child); kind = vect_merge_perms (kind, res.first); /* Unknown and Top are not valid on blends as they produce no permute. */ + retval.first = kind; if (kind == PERM_UNKNOWN || kind == PERM_TOP) return retval; all_loads.safe_push (res.second); @@ -258,7 +260,7 @@ linear_loads_p (slp_tree_to_load_perm_map_t *perm_cache, slp_tree root) retval.first = kind; retval.second = nloads; } - else if (all_loads.length () == 1) + else { retval.first = kind; retval.second = all_loads[0]; --6TrnltStXW4iwmi0--