From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25717 invoked by alias); 25 Jan 2015 09:56:15 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 25536 invoked by uid 89); 25 Jan 2015 09:55:38 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-0.6 required=5.0 tests=AWL,BAYES_40,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: na01-by2-obe.outbound.protection.outlook.com Received: from mail-by2on0053.outbound.protection.outlook.com (HELO na01-by2-obe.outbound.protection.outlook.com) (207.46.100.53) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA256 encrypted) ESMTPS; Sun, 25 Jan 2015 09:55:20 +0000 Received: from BY2FFO11FD057.protection.gbl (10.1.14.33) by BY2FFO11HUB039.protection.gbl (10.1.14.122) with Microsoft SMTP Server (TLS) id 15.1.75.11; Sun, 25 Jan 2015 09:55:16 +0000 Received: from xsj-pvapsmtpgw01 (149.199.60.83) by BY2FFO11FD057.mail.protection.outlook.com (10.1.15.185) with Microsoft SMTP Server (TLS) id 15.1.75.11 via Frontend Transport; Sun, 25 Jan 2015 09:55:17 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1YFJrC-000559-18; Sun, 25 Jan 2015 01:51:50 -0800 From: Ajit Kumar Agarwal To: "vmakarov@redhat.com" , "law@redhat.com" , "gcc@gcc.gnu.org" CC: Vinod Kathail , Shail Aditya Gupta , Vidhumouli Hunsigida , "Nagaraju Mekala" Subject: Rematerialization and Live Range Splitting on Region Frequency Date: Sun, 25 Jan 2015 09:56:00 -0000 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-RCIS-Action: ALLOW Message-ID: X-EOPAttributedMessage: 0 Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=ajit.kumar.agarwal@xilinx.com; gcc.gnu.org; dkim=none (message not signed) header.d=none; X-Forefront-Antispam-Report: CIP:149.199.60.83;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(53754006)(23726002)(108616004)(54356999)(2501002)(53416004)(6806004)(50466002)(2201001)(50986999)(86362001)(47776003)(92726002)(102836002)(2656002)(229853001)(87936001)(74316001)(92566002)(46102003)(46406003)(104016003)(62966003)(106466001)(97756001)(77156002)(107986001)(24736002);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2FFO11HUB039;H:xsj-pvapsmtpgw01;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Antispam: UriScan:; X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:;SRVR:BY2FFO11HUB039; X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004);SRVR:BY2FFO11HUB039; X-Forefront-PRVS: 046753C63C X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:;SRVR:BY2FFO11HUB039; X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2015 09:55:17.0829 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.60.83] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2FFO11HUB039 X-SW-Source: 2015-01/txt/msg00223.txt.bz2 Hello All: Looks like Live range splitting and rematerialization are connected to each= other. If the boundary of Live range Splitting is in the high frequency of the region then the move connected to= splitted live ranges are inside the High frequency region which is the performance bottleneck for many benchmar= ks. Live range splitting based on the frequency of the region should be conside= red. The Live range splitting in the=20 High frequency region is beneficial if the splitted live range is assigned = the color(hard registers) which is better Spilling inside the high frequency region, although there will be move inst= ruction or shuffle code which is still=20 Better. If one of the splitted live range does not have any use points and= all the partner live ranges gets the Hard register, then the move instruction due to splitting will be costly fo= r the high frequency region. In such=20 Case the split point should be move up at the boundary of the transition f= rom low frequency region to high Frequency region, and the splitted live ranges still get hard registers. T= his require increment check of=20 colorabity which increases the compile time but beneficial with respect to = run time. The above heuristic should=20 be incorporated on top of the below Live range splitting Algorithm. Live r= ange splitting algorithm should consider the blocks in the decreasing order of frequency with the first block should= be taken from the high frequency region and incrementally updates till it become colorable. Thus split point= s should be at the edge of the transition=20 from high frequency to low frequency region or from low frequency region to= high frequency region.=20 The above Live range splitting should be incorporated for all the flavors = of Graph Coloring. Regarding the rematerialization the Chaitin's Rematerialization try to reca= lculate the expression at all the=20 Use points of the Live ranges and Simpson based approach for Rematerialized= try to move the arithmetic Instruction lower to use points or the basic blocks considering the operand= s of Arithmetic instructions is=20 Not touched along the blocks of the Live range. Considering all the effects of rematerialization, The remat point or the re= calculation should be done at the split points instead of Chaitin's approach of remat at every use points and= the Simpson approach of operands not being touched upon and the movement of arithmetic instruction later at = the use points. The above approaches looks feasible to implement consider the high frequenc= y region into consideration. Thoughts Please ? Thanks & Regards Ajit