From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21081 invoked by alias); 3 Nov 2009 17:27:12 -0000 Received: (qmail 21072 invoked by uid 22791); 3 Nov 2009 17:27:12 -0000 X-SWARE-Spam-Status: No, hits=-1.6 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from kuber.nabble.com (HELO kuber.nabble.com) (216.139.236.158) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 03 Nov 2009 17:27:09 +0000 Received: from isper.nabble.com ([192.168.236.156]) by kuber.nabble.com with esmtp (Exim 4.63) (envelope-from ) id 1N5N9v-0002Wc-LL for gcc@gcc.gnu.org; Tue, 03 Nov 2009 09:27:07 -0800 Message-ID: <26160571.post@talk.nabble.com> Date: Tue, 03 Nov 2009 17:27:00 -0000 From: ddmetro To: gcc@gcc.gnu.org Subject: help on - instruction scheduling passes in gcc MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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 X-SW-Source: 2009-11/txt/msg00039.txt.bz2 Hi All, Our project is to optimize instruction scheduling in gcc by detecting structural hazards. We are trying to understand the two instruction scheduling passes(pass_sched and pass_sched2) and have the following doubts regarding the same. We are currently looking at schedule_insns() method and not selective scheduler. 1. We are expecting that pass_sched and pass_sched2, each will enter schedule_insns() function once per pass. However, we found that it is entering schedule_insns() function per function(in the program) per pass. (If there are two functions in the input program, pass_sched will enter schedule_insns() twice and pass_sched2 will also enter schedule_insns() twice.)We are not able to track this flow in the code. Kindly help us as to what are we missing out? 2. We are trying to visualize the code into regions and then into basic blocks i.e., what all insns form a basic block and what basic blocks form a region. Also we are trying to figure out - the before and after scenarios - when an insn moves from one basic block to another. However we are not able to map this information looking at any of the rtl dump files. Kindly help us as to what should be our approach? 3. We are trying to figure out the difference and need of 2 passes, both calling the same function(schedule_insns()). However, we are unable to find any difference in the two calls to schedule_insns() in two schedule passes(pass_sched and pass_sched2). Kindly help us as to what are we missing out? Target language for which optimization is being done: C Target machine architecture: i686 GCC version: 4.4.1 Kindly help us with our issues. Thanking You, Dhiraj Padnani -- View this message in context: http://old.nabble.com/help-on---instruction-scheduling-passes-in-gcc-tp26160571p26160571.html Sent from the gcc - Dev mailing list archive at Nabble.com.