From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpout30.security-mail.net (smtpout30.security-mail.net [85.31.212.34]) by sourceware.org (Postfix) with ESMTPS id D95B3385482E for ; Tue, 12 Sep 2023 10:08:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D95B3385482E Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=kalrayinc.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kalrayinc.com Received: from localhost (localhost [127.0.0.1]) by fx304.security-mail.net (Postfix) with ESMTP id DA13E7F9405 for ; Tue, 12 Sep 2023 12:08:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kalrayinc.com; s=sec-sig-email; t=1694513282; bh=EjCc6ytwTaW5jezUOU8LKk5g2v3ASLKQtoZICpZbUsw=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Ce05CEW+QcfZbOJg5dFY3S6ymj5ie5kKFBDNtQoZquVYyOe58ncCbq2Quu8uvskPa lNrwONd0dsoLZfAiMJ13V89zwpE9jHTv2IYfsquwKxd/XPpQHZbySi2jeoURVpPVu2 0WW1VBSLUSH283n8vhXyNbeGaTCBepDdUp/1x6TY= Received: from fx304 (localhost [127.0.0.1]) by fx304.security-mail.net (Postfix) with ESMTP id BC89C7F9292 for ; Tue, 12 Sep 2023 12:08:02 +0200 (CEST) Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-mr2fra01on0100.outbound.protection.outlook.com [104.47.25.100]) by fx304.security-mail.net (Postfix) with ESMTPS id 4F1357F8CC8 for ; Tue, 12 Sep 2023 12:08:02 +0200 (CEST) Received: from PR1P264MB3448.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:184::6) by MRZP264MB2442.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:7::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.35; Tue, 12 Sep 2023 10:08:01 +0000 Received: from PR1P264MB3448.FRAP264.PROD.OUTLOOK.COM ([fe80::ad9:f173:8a66:3461]) by PR1P264MB3448.FRAP264.PROD.OUTLOOK.COM ([fe80::ad9:f173:8a66:3461%7]) with mapi id 15.20.6768.029; Tue, 12 Sep 2023 10:08:01 +0000 X-Virus-Scanned: E-securemail Secumail-id: <5dc1.65003882.4e2cb.0> ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JQ52AyLiWFRqZVoiGD+bg4BGKXrxcQX3YGVq7KIiz/QUlUr+DKhPlQpJu4w1H5kk6fZYVXLdj77G5UZA+T6siL4ClaxijRL3RJnS2ft/hzcCWX+H8OZztOGrrgUm8VF/78mESwHysuEddzmZJzc74lI4UCZzNCIcXzWVDn2+EFAHSfPKVvj17tfpLDPWbvFb/qI1TKDeV25ADVJKNTjxLEdtL0MyMod9FJA2piEoZizc17y+4o7oUSQWYlbAGgmp8AHj6T0J2NbOQTKAaHWINzapJNufuCdZMGSgceGLStdxy4JxVDBUVmc/oesVv5j6tviXjV5YJ/3IyMJx9Ohlcw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=EmiD/u0+WX+AVSu//0gLPi/VfiKR4Z2LKNdgKxdVYpM=; b=PS7IUgjZWEwAtIIWwv/BGqRStUPCTgqKDQee2zck1GgUZ2rI/BT11o2pxzkdJo5QbXEDZ3YNuEK/s/hhYLb/b+Os26cjm5rzBfiepLCl4I493T/AXGybGYVhqEUCzTHUSj7DQ6DAe/FNEZLy+IUO/XhWXgq7b2NuuCeKlG2gRwvs6Ie+a/KW7He9is+hYPbppahuhPuBanTvLBbQMBxvmrPFwo6UMRSEPkypQNPR6klp3ecFBxPRIyjoGlCfbrGjFRRx5kz4TJOYnxyj5el5gBsBoUYzvX6bbBaqYlxl1WUvrGTlyKlMYqWH5VMp5B0Bz+7mYEVRd100mUkdU6joNQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=kalrayinc.com; dmarc=pass action=none header.from=kalrayinc.com; dkim=pass header.d=kalrayinc.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kalrayinc.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EmiD/u0+WX+AVSu//0gLPi/VfiKR4Z2LKNdgKxdVYpM=; b=iHlWTAke1ryDgVY0b0nyM30UcAeL3soSDmqAfYARiDcNko1MxRjezykJl1OeCvRpDFhZTh8XZu24t985w9TvbINclafL6gJ3aSXPn+UZSnU69kEqPZqx4NVa144en5ZV9ivV43JKhIKu2WAW8LhG9ybPHaC6cezVT0nloStnjLkKfr7RvM4RVZ8CNkSQ9uR3KXJGMylsI0LKeaVQePl9Azm0av0rP9W/K018z4VgQbiGYjfhnZfR8a8hD21GQo7ts6OehH54hdxJsuGGdfucJEZYfqz2DqYzLRBFtk5tlNGre3X5tqHsV/F4NpLksbsjCZsp3TDgfX1JDHklyvZE2g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=kalrayinc.com; From: Sylvain Noiry To: gcc-patches@gcc.gnu.org Cc: Sylvain Noiry Subject: [PATCH v2 09/11] Native complex ops: remove useless special cases Date: Tue, 12 Sep 2023 12:07:11 +0200 Message-ID: <20230912100713.1074-10-snoiry@kalrayinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230912100713.1074-1-snoiry@kalrayinc.com> References: <20230717090250.4645-10-snoiry@kalrayinc.com> <20230912100713.1074-1-snoiry@kalrayinc.com> X-ClientProxiedBy: LO4P265CA0262.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:37c::10) To PR1P264MB3448.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:184::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PR1P264MB3448:EE_|MRZP264MB2442:EE_ X-MS-Office365-Filtering-Correlation-Id: 51a192c3-3bea-452a-fb32-08dbb378259d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: d+XiRxwLJm4yYqJFeCh1J7ebENWOBgMgyPjHRjHEWuWyIddllATO7cxHmnB4QXNUwZ5WdI1gRkGRQxstNUax0cipAsM8qC1ec3nc7H4pnvHxJMfLL/FvYFQtwfsUoVH35yHVPqxvhZHj9GAgLS8Ip1bzK8UEDYlmBT6BTFPMOzYVHkbN0rSKL1W3T/7MAG0ZmzNLbk74jJoKChvmjJXv6dyQuQU1edNPF9x9tis2WZRvUR6E+JQhOYi3V+6Wz51LixVRW/4MC+iKGU6Yyi8XG8ViKezfb8pdRl+1fbkuhMXjt1bCJK8Tuh2B97qffcf9QMInu1dIFA0lqYjH8bYjqFapL2hU/MDX27+nDJ9ISi/AE+pEY7h9IpJL3PCwILxP+zMGQ8WYh3twxa97QGf043lInPHaFIbqWjK313REG6Yav9dRTssUx3lkHZuj0yRz4pxfjsVqdxULsSRsmeFK76mPN+9VvoBaqOm02r6bmx3L1Uit+59GRF45i0t1aPoPl+sSh0Y4L/9G10oO7+8hfSlgGtJ5S6PH5mRtoI/uP/6F4cRFpjxnc9crbn+OJBv6 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PR1P264MB3448.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(376002)(346002)(396003)(39860400002)(451199024)(186009)(1800799009)(1076003)(107886003)(2616005)(5660300002)(4326008)(8936002)(8676002)(6512007)(26005)(6486002)(6666004)(6506007)(83380400001)(66476007)(66556008)(66946007)(38100700002)(478600001)(41300700001)(6916009)(316002)(36756003)(86362001)(2906002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3uY4pC0jXzlay7dvg9+s3PqJKdo67XKYz9cB90cLZPEeJxYjpKoccm2kk3JEiP/3dIzjP1xEScRBN777FXHqtn5UyQndzHg4GsZQIqqEgniCSNmrEWwIH15ehFiKIKclznk3vLlLljThs7ZWjDyXFzzuRg603oMbfKygpRp0GVp4OlFZxHWdiFuz0MvhrysANEHux632o419GTpZYS/315U64sT/roCSVFHGtWdLKjYEi2Y0rNM5wXt/0rrZrS7F1bHIqsKX82lgJDlWOD0pK4CybXW8/Fe0rPkIUBarH/aPme0EP0KpF/H8Th+vbjDzsbH4bjyM26wPdobeIYPVE//9lOkh1o2n0DS2X+wBDoqW0A7QG2BYlZELHzon27OEFjb9DnmlY16waU6Y7iG3DZEakuZYR8XQJlvokBLYzNBJzQK9VQbKIOTtaxOzzQqWkOlfEZx6cU/VIpJVf7BNyOlJwnVpii1AVxcGPrc4iCfY+JRfqYHpXQz8AMXTCLrKcwDeyVsv5q7GIrYh+vCFtktvYx+bqqkZXijtO401kdPYoDEkqw+pgCVWPcazAetEWLKV2YeSOTGlHlfu+Mpc8Ty9GEio4TnDiOETi3TNmti4vAIlEWWjggGuSJmF7H229M41VFL9RzNOh08sWfRprRTPT5sLY8b4BneDtqwekMdmZYlNA0EN1hg0Yv+yv8EpHbI1H8l2IDdwHVP6nPDRTa7H43XrEprShppPWXh2/H8kUdeMUNl+ZbqNkbdG5kEK/FziV64kkq6+gcuYa6Q9c7ykDP039keGIxrO73+FMUP+iGEC0/Z8pj2Z2EB2cNSairRqfFN3yJ7mSZz89H7W14oIGIViwpaJZSQf74aQ2m9SRGoEDOn648XTnG+Rgpt2pubL5766WP0LfAs9aUdqQf6rwtOHZeeYfxMTRi8LoI+e8ISrp6Vgfn86o6tHGS9p 6R2xXx7HGk96Op4WWQ6NyXqJBf8TahXJmDRLle17iiOlYydAxGMTvQSfqoXB4aSA0Ey3XDnRdG8x4ap3+1z9DeMatXe2xkq9l6tM0TtheTDmLNRTKpaQzbvZgs8FOwyoqdL29jKEPCRFDlxQw50RwffA1YN8i+u6Inv1IAHMfwKufMS62FLsGTI+OLRUWvzi754gM5/zW4MNbJzx/Vlu3i0DZBivOHsWP2r0Yn2/V/QeKVnxVFzLZzM1N42ETqgi0al5UHUwatP5SOvxOQ1NuUC47ChXMDYUmu5UObmTM3OgPPj08lWL2Lh6JMMR1DmZP7IGxif4thzRYXiBrPqwMGOO6bXxngdMjMMqDuVJGUr6nR+2FpnFj0Isb7ZMbVV0eDwNXv9cg3ZRhsdFOQD5o9ZrCal/Zvy6KesqGQsqovoZihEGSaQFdlJVXLvJeD0O2W7/y9zCC6KxjPpKEV82FU7tdAGgH5+XABtYuml0ERwVjHNiTOOaeoAK4WK9b/F5EYXMuKcRkoWylID0qwfoXHrJ7AZ7WVt86YYw/C2iTPi+M6cP7Txk3DoAWM+IoqxBgroyrIL8bvMUk1Y01PdXWnveUwiG6XhVq9Br22PfXk8kGplrvlhppIxtqZI2dYm5 X-OriginatorOrg: kalrayinc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 51a192c3-3bea-452a-fb32-08dbb378259d X-MS-Exchange-CrossTenant-AuthSource: PR1P264MB3448.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2023 10:08:01.2476 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8931925d-7620-4a64-b7fe-20afd86363d3 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qwk4+FsdxK2APwySRpjmnHua6RhYR4FHXJtzgRQmbavtcvAbJ+67nRZMnD9ekP5izLLQLQq3Uqo+ICwbnMx7Jw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MRZP264MB2442 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-ALTERMIMEV2_out: done X-Spam-Status: No, score=-12.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Summary: Remove two special cases which are now useless with the new complex handling. gcc/ChangeLog: * tree-ssa-forwprop.cc (pass_forwprop::execute): Remove two special cases --- gcc/tree-ssa-forwprop.cc | 133 +-------------------------------------- 1 file changed, 3 insertions(+), 130 deletions(-) diff --git a/gcc/tree-ssa-forwprop.cc b/gcc/tree-ssa-forwprop.cc index 30e99f812f1..0c968f6ca32 100644 --- a/gcc/tree-ssa-forwprop.cc +++ b/gcc/tree-ssa-forwprop.cc @@ -3670,61 +3670,8 @@ pass_forwprop::execute (function *fun) != TARGET_MEM_REF) && !stmt_can_throw_internal (fun, stmt)) { - /* Rewrite loads used only in real/imagpart extractions to - component-wise loads. */ - use_operand_p use_p; - imm_use_iterator iter; - bool rewrite = true; - FOR_EACH_IMM_USE_FAST (use_p, iter, lhs) - { - gimple *use_stmt = USE_STMT (use_p); - if (is_gimple_debug (use_stmt)) - continue; - if (!is_gimple_assign (use_stmt) - || (gimple_assign_rhs_code (use_stmt) != REALPART_EXPR - && gimple_assign_rhs_code (use_stmt) != IMAGPART_EXPR) - || TREE_OPERAND (gimple_assign_rhs1 (use_stmt), 0) != lhs) - { - rewrite = false; - break; - } - } - if (rewrite) - { - gimple *use_stmt; - FOR_EACH_IMM_USE_STMT (use_stmt, iter, lhs) - { - if (is_gimple_debug (use_stmt)) - { - if (gimple_debug_bind_p (use_stmt)) - { - gimple_debug_bind_reset_value (use_stmt); - update_stmt (use_stmt); - } - continue; - } - - tree new_rhs = build1 (gimple_assign_rhs_code (use_stmt), - TREE_TYPE (TREE_TYPE (rhs)), - unshare_expr (rhs)); - gimple *new_stmt - = gimple_build_assign (gimple_assign_lhs (use_stmt), - new_rhs); - - location_t loc = gimple_location (use_stmt); - gimple_set_location (new_stmt, loc); - gimple_stmt_iterator gsi2 = gsi_for_stmt (use_stmt); - unlink_stmt_vdef (use_stmt); - gsi_remove (&gsi2, true); - - gsi_insert_before (&gsi, new_stmt, GSI_SAME_STMT); - } - - release_defs (stmt); - gsi_remove (&gsi, true); - } - else - gsi_next (&gsi); + /* Special case removed due to better complex processing. */ + gsi_next (&gsi); } else if (TREE_CODE (TREE_TYPE (lhs)) == VECTOR_TYPE && (TYPE_MODE (TREE_TYPE (lhs)) == BLKmode @@ -3739,81 +3686,7 @@ pass_forwprop::execute (function *fun) optimize_vector_load (&gsi); else if (code == COMPLEX_EXPR) - { - /* Rewrite stores of a single-use complex build expression - to component-wise stores. */ - use_operand_p use_p; - gimple *use_stmt, *def1, *def2; - tree rhs2; - if (single_imm_use (lhs, &use_p, &use_stmt) - && gimple_store_p (use_stmt) - && !gimple_has_volatile_ops (use_stmt) - && is_gimple_assign (use_stmt) - && (TREE_CODE (gimple_assign_lhs (use_stmt)) - != TARGET_MEM_REF)) - { - tree use_lhs = gimple_assign_lhs (use_stmt); - if (auto_var_p (use_lhs)) - DECL_NOT_GIMPLE_REG_P (use_lhs) = 1; - tree new_lhs = build1 (REALPART_EXPR, - TREE_TYPE (TREE_TYPE (use_lhs)), - unshare_expr (use_lhs)); - gimple *new_stmt = gimple_build_assign (new_lhs, rhs); - location_t loc = gimple_location (use_stmt); - gimple_set_location (new_stmt, loc); - gimple_set_vuse (new_stmt, gimple_vuse (use_stmt)); - gimple_set_vdef (new_stmt, make_ssa_name (gimple_vop (fun))); - SSA_NAME_DEF_STMT (gimple_vdef (new_stmt)) = new_stmt; - gimple_set_vuse (use_stmt, gimple_vdef (new_stmt)); - gimple_stmt_iterator gsi2 = gsi_for_stmt (use_stmt); - gsi_insert_before (&gsi2, new_stmt, GSI_SAME_STMT); - - new_lhs = build1 (IMAGPART_EXPR, - TREE_TYPE (TREE_TYPE (use_lhs)), - unshare_expr (use_lhs)); - gimple_assign_set_lhs (use_stmt, new_lhs); - gimple_assign_set_rhs1 (use_stmt, gimple_assign_rhs2 (stmt)); - update_stmt (use_stmt); - - release_defs (stmt); - gsi_remove (&gsi, true); - } - /* Rewrite a component-wise load of a complex to a complex - load if the components are not used separately. */ - else if (TREE_CODE (rhs) == SSA_NAME - && has_single_use (rhs) - && ((rhs2 = gimple_assign_rhs2 (stmt)), true) - && TREE_CODE (rhs2) == SSA_NAME - && has_single_use (rhs2) - && (def1 = SSA_NAME_DEF_STMT (rhs), - gimple_assign_load_p (def1)) - && (def2 = SSA_NAME_DEF_STMT (rhs2), - gimple_assign_load_p (def2)) - && (gimple_vuse (def1) == gimple_vuse (def2)) - && !gimple_has_volatile_ops (def1) - && !gimple_has_volatile_ops (def2) - && !stmt_can_throw_internal (fun, def1) - && !stmt_can_throw_internal (fun, def2) - && gimple_assign_rhs_code (def1) == REALPART_EXPR - && gimple_assign_rhs_code (def2) == IMAGPART_EXPR - && operand_equal_p (TREE_OPERAND (gimple_assign_rhs1 - (def1), 0), - TREE_OPERAND (gimple_assign_rhs1 - (def2), 0))) - { - tree cl = TREE_OPERAND (gimple_assign_rhs1 (def1), 0); - gimple_assign_set_rhs_from_tree (&gsi, unshare_expr (cl)); - gcc_assert (gsi_stmt (gsi) == stmt); - gimple_set_vuse (stmt, gimple_vuse (def1)); - gimple_set_modified (stmt, true); - gimple_stmt_iterator gsi2 = gsi_for_stmt (def1); - gsi_remove (&gsi, false); - gsi_insert_after (&gsi2, stmt, GSI_SAME_STMT); - } - else - gsi_next (&gsi); - gsi_next (&gsi); - } + gsi_next (&gsi); else if (code == CONSTRUCTOR && VECTOR_TYPE_P (TREE_TYPE (rhs)) && TYPE_MODE (TREE_TYPE (rhs)) == BLKmode -- 2.17.1