From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by sourceware.org (Postfix) with ESMTPS id 34E663858D20 for ; Fri, 14 Apr 2023 08:41:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 34E663858D20 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.ibm.com Received: from pps.filterd (m0098409.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33E8Vmgx000907; Fri, 14 Apr 2023 08:41:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : date : mime-version : to : cc : from : subject : content-type : content-transfer-encoding; s=pp1; bh=44vZt/fgJqrXz20NyCgJmlWwNejZlCKFIavtB9VI8g0=; b=EsJcgtQRy+c6+UXsUNdXPrzJ2wkEl639K5TSrRpbiRi29XlntsBVOkwZ9MBDLLDv5a9s gUICkuv1/86mXtHtMeRm0PS06YCDAn8IVHcbF+7RRl3SQrlNOl3zQh0WWqeiHh/pQfOb Cnach4QFSaoJrKz/CaCL1VHvQAS74k+PlDLqhhtd2SF1AYkIWhIAhNxlYf4IZOTozI3Z 0k/TYx2MKVV+Z1/R74teZhmRyJgeQrWb9vOkK0APDKUMx6MeJw6PCOhUUqYnpMYMF28G lMlfP8jzZnB8XvGtRxWxiv5UscKwEurRo8MwhTBUW8cQo9HrHorJldY84NUaWmug5/qe 8g== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3pxvwx4n66-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Apr 2023 08:41:43 +0000 Received: from m0098409.ppops.net (m0098409.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 33E8XRGK008533; Fri, 14 Apr 2023 08:41:43 GMT Received: from ppma04dal.us.ibm.com (7a.29.35a9.ip4.static.sl-reverse.com [169.53.41.122]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3pxvwx4n5u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Apr 2023 08:41:43 +0000 Received: from pps.filterd (ppma04dal.us.ibm.com [127.0.0.1]) by ppma04dal.us.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 33E6Xbwp009468; Fri, 14 Apr 2023 08:41:42 GMT Received: from smtprelay05.dal12v.mail.ibm.com ([9.208.130.101]) by ppma04dal.us.ibm.com (PPS) with ESMTPS id 3pu0h07qd0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Apr 2023 08:41:42 +0000 Received: from smtpav01.dal12v.mail.ibm.com (smtpav01.dal12v.mail.ibm.com [10.241.53.100]) by smtprelay05.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 33E8fflI7733818 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Apr 2023 08:41:41 GMT Received: from smtpav01.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 3DDE858058; Fri, 14 Apr 2023 08:41:41 +0000 (GMT) Received: from smtpav01.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 68B2258061; Fri, 14 Apr 2023 08:41:39 +0000 (GMT) Received: from [9.43.65.25] (unknown [9.43.65.25]) by smtpav01.dal12v.mail.ibm.com (Postfix) with ESMTP; Fri, 14 Apr 2023 08:41:39 +0000 (GMT) Message-ID: <1d4c9e6c-85e4-7eff-0833-aca7f874fbda@linux.ibm.com> Date: Fri, 14 Apr 2023 14:11:37 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Content-Language: en-US To: gcc-patches Cc: Segher Boessenkool , Peter Bergner , Jeff Law From: Ajit Agarwal Subject: PATCH] tree-ssa-sink: Add heuristics for code sinking Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-GUID: RRpanAlzSKNVaGG7Ed4aNeJL6FU1btVC X-Proofpoint-ORIG-GUID: ao3Kicy8ap8aHzotY4DWg8e9QAQZKOTg X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-14_02,2023-04-13_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 priorityscore=1501 adultscore=0 impostorscore=0 lowpriorityscore=0 mlxscore=0 clxscore=1011 suspectscore=0 bulkscore=0 spamscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304140068 X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_PASS,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 List-Id: Hello All: This patch add heuristics for code sinking opportunities. Bootstrapped and regtested for powerpc64-linux-gnu. Thanks & Regards Ajit tree-ssa-sink: Add heuristics for code sinking. Add following code sinking heuristics: 1. from code block dominates the call. 2. To Code block have uses inside the function call. 3. Loop headers. 4. Sinking from code block after call increases register pressure. 5. Sinking calls. 2023-04-14 Ajit Kumar Agarwal gcc/ChangeLog: * tree-ssa-sink.cc (statement_sink_location): Add heuristics for code sinking. --- gcc/tree-ssa-sink.cc | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gcc/tree-ssa-sink.cc b/gcc/tree-ssa-sink.cc index 87b1d40c174..8de88b259a3 100644 --- a/gcc/tree-ssa-sink.cc +++ b/gcc/tree-ssa-sink.cc @@ -465,6 +465,39 @@ statement_sink_location (gimple *stmt, basic_block frombb, if (sinkbb == frombb) return false; + auto_vec h; + h = get_all_dominated_blocks (CDI_DOMINATORS, + frombb); + bool is_call = false; + while (h.length ()) + { + basic_block bb = h.pop (); + + if (bb == frombb) + continue; + + for (gimple_stmt_iterator gsi = gsi_last_bb (bb); !gsi_end_p (gsi);) + { + gimple *stmt = gsi_stmt (gsi); + + if (is_gimple_call (stmt)) + { + is_call = true; + break; + } + + if (!gsi_end_p (gsi)) + gsi_prev (&gsi); + } + } + + if (!is_gimple_call (stmt) + && (gimple_bb (use) != frombb) + && !is_gimple_call (use) + && dominated_by_p (CDI_DOMINATORS, sinkbb, frombb) + && is_call) + return false; + if (sinkbb == gimple_bb (use)) *togsi = gsi_for_stmt (use); else -- 2.31.1