From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25844 invoked by alias); 27 Nov 2007 16:47:07 -0000 Received: (qmail 25835 invoked by uid 22791); 27 Nov 2007 16:47:07 -0000 X-Spam-Check-By: sourceware.org Received: from pfepb.post.tele.dk (HELO pfepb.post.tele.dk) (195.41.46.236) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 27 Nov 2007 16:47:00 +0000 Received: from x1-6-00-0f-9f-c6-3e-90 (x1-6-00-0f-9f-c6-3e-90.k75.webspeed.dk [80.197.1.215]) by pfepb.post.tele.dk (Postfix) with ESMTP id 7AC5AA50052 for ; Tue, 27 Nov 2007 17:46:55 +0100 (CET) Received: from x1-6-00-0f-9f-c6-3e-90 (localhost.localdomain [127.0.0.1]) by x1-6-00-0f-9f-c6-3e-90 (8.14.0/8.14.0) with ESMTP id lARGktrm026871 for ; Tue, 27 Nov 2007 17:46:56 +0100 Received: (from rask@localhost) by x1-6-00-0f-9f-c6-3e-90 (8.14.0/8.14.0/Submit) id lARGkti6026870 for gcc@gcc.gnu.org; Tue, 27 Nov 2007 17:46:55 +0100 Date: Tue, 27 Nov 2007 18:29:00 -0000 From: Rask Ingemann Lambertsen To: gcc@gcc.gnu.org Subject: Dataflow question Message-ID: <20071127164653.GD17368@sygehus.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.14 (2007-02-12) 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: 2007-11/txt/msg00725.txt.bz2 I have a simple loop over the defs of an INSN, looking for the def of a specific register X: struct df_ref **defs; for (defs = DF_INSN_DEFS (insn); *defs && !rtx_equal_p (DF_REF_REG (*defs), x); defs++) ; It doesn't work because the modes don't match: (gdb) call debug_rtx (defs[0]->insn) (insn 9 8 10 2 /tmp/pr3507-3.c:9 (set (reg:CCSO 13 cc) (compare:CCSO (reg/v:HI 22 [ a ]) (reg/v:HI 23 [ b ]))) 269 {*cmphi_ccso} (nil)) (gdb) call debug_rtx (defs[0]->reg) (reg:CC 13 cc) Should I just compare register numbers instead? -- Rask Ingemann Lambertsen Danish law requires addresses in e-mail to be logged and stored for a year