From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16728 invoked by alias); 11 Dec 2012 12:55:11 -0000 Received: (qmail 16532 invoked by uid 48); 11 Dec 2012 12:54:46 -0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/54570] [4.8 Regression] FAIL: gcc.dg/builtin-object-size-8.c execution test Date: Tue, 11 Dec 2012 12:55:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.0 X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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: 2012-12/txt/msg01105.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54570 --- Comment #10 from Richard Biener 2012-12-11 12:54:43 UTC --- An alternative suggestion was to allow arbitrary complex addresses (well, "arbitrary" == gimplified ADDR_EXPRs) in call arguments (either in general or just for specially marked builtins). That way they escape SSA based CSE. Yet another variant would be to have an optional 2nd operand for ADDR_EXPRs for the Frontend to fill in, specifying the "size" of the object at that address. Preserving that across propagation/substitution would be required of course (details on what the 'size' of &a[2] with int a[4]; would be is still to be determined). I'm leaning towards trying to have explicit information tracked from their origin rather than trying to re-discover them after optimizations obfuscated them.