From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28599 invoked by alias); 18 Feb 2011 13:47:36 -0000 Received: (qmail 28587 invoked by uid 22791); 18 Feb 2011 13:47:35 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,TW_RG X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 18 Feb 2011 13:47:32 +0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug lto/47799] New: LTO debug info for early inlined functions missing X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: lto X-Bugzilla-Keywords: lto X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Fri, 18 Feb 2011 14:29:00 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2011-02/txt/msg02140.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47799 Summary: LTO debug info for early inlined functions missing Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: lto Severity: normal Priority: P3 Component: lto AssignedTo: unassigned@gcc.gnu.org ReportedBy: rguenth@gcc.gnu.org FAIL: gcc.dg/guality/pr43329-1.c -O2 -flto line 12 argx == 25 is because we inline foo during early inlining and the BLOCKs of the inline instance are not emitted. With -fno-early-inlining it succeeds. That is, the effect of /* Output the inlining info for this abstract function, since it has been inlined. If we don't do this now, we can lose the information about the variables in the function when the blocks get blown away as soon as we remove the cgraph node. */ (*debug_hooks->outlining_inline_function) (cg_edge->callee->decl); isn't reflected in the LTO IL and thus gets lost. The information should still be there in the inlined BLOCKs abstract origins though, no?