From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2723 invoked by alias); 23 Nov 2007 23:40:12 -0000 Received: (qmail 2697 invoked by uid 22791); 23 Nov 2007 23:40:11 -0000 X-Spam-Check-By: sourceware.org Received: from lsd-gw.ic.unicamp.br (HELO marquesa.lsd.ic.unicamp.br) (143.106.7.165) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 23 Nov 2007 23:40:01 +0000 Received: from freie.oliva.athome.lsd.ic.unicamp.br (gw-to-emilia.oliva.athome.lsd.ic.unicamp.br [172.31.160.17] (may be forged)) by marquesa.lsd.ic.unicamp.br (8.14.1/8.14.1) with ESMTP id lANNdqEI028384; Fri, 23 Nov 2007 21:39:52 -0200 Received: from livre.oliva.athome.lsd.ic.unicamp.br (livre.oliva.athome.lsd.ic.unicamp.br [172.31.160.2]) by freie.oliva.athome.lsd.ic.unicamp.br (8.14.1/8.14.1) with ESMTP id lANNdqtg005014; Fri, 23 Nov 2007 21:39:52 -0200 Received: from livre.oliva.athome.lsd.ic.unicamp.br (localhost.localdomain [127.0.0.1]) by livre.oliva.athome.lsd.ic.unicamp.br (8.14.2/8.13.8) with ESMTP id lANNdp2C025748; Fri, 23 Nov 2007 21:39:51 -0200 Received: (from aoliva@localhost) by livre.oliva.athome.lsd.ic.unicamp.br (8.14.2/8.13.5/Submit) id lANNdpMV025747; Fri, 23 Nov 2007 21:39:51 -0200 To: "Steven Bosscher" Cc: "Mark Mitchell" , "Ian Lance Taylor" , "Richard Guenther" , gcc-patches@gcc.gnu.org, gcc@gcc.gnu.org Subject: Re: Designs for better debug info in GCC References: <571f6b510711121208m2bf7c77fp884f52d458df118b@mail.gmail.com> From: Alexandre Oliva Errors-To: aoliva@lsd.ic.unicamp.br Date: Fri, 23 Nov 2007 23:40:00 -0000 In-Reply-To: <571f6b510711121208m2bf7c77fp884f52d458df118b@mail.gmail.com> (Steven Bosscher's message of "Mon\, 12 Nov 2007 21\:08\:45 +0100") Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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/msg00592.txt.bz2 On Nov 12, 2007, "Steven Bosscher" wrote: > DEBUG_INSN in RTL (with one noteworthy difference, namely that having > note-like GIPMLE statements is a totally new concept Not quite. There were codeless gimple constructs before (think labels, for one). Or empty asm statements. But then, I'm not sure what you mean by note-like; maybe it's something else. As I explained before, debug insns and debug stmts are more like code than like notes, because notes generally don't need adjusting as code is modified elsewhere, whereas code does. And debug insns and stmts definitely need adjusting like regular insns. > while DEBUG_INSN is just a wannabe-real-insn INSN_NOTE). Except for this tiny detail that INSN_NOTEs are never adjusted as code is modified, because in general they don't even contain RTL. VAR_LOCATION is a recent exception, and it used to be introduced so late precisely because there's no infrastructure to keep notes up-to-date as code transformations are performed. So, yes, debug stmts and insns are notes in the sense that they don't output code. Like USE insns, labels, empty asm insns and other UNSPECs. But wait, those are insns, not notes. And they do generate code, just not in the .text section, but rather in .debug sections. So, what's this prejudice against debug insns? Why do you regard them as notes rather than insns? -- Alexandre Oliva http://www.lsd.ic.unicamp.br/~oliva/ FSF Latin America Board Member http://www.fsfla.org/ Red Hat Compiler Engineer aoliva@{redhat.com, gcc.gnu.org} Free Software Evangelist oliva@{lsd.ic.unicamp.br, gnu.org}