From patchwork Fri Jul 13 09:16:21 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Biener X-Patchwork-Id: 170833 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 251AD2C035B for ; Fri, 13 Jul 2012 19:16:47 +1000 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1342775808; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Date: From:To:Subject:Message-ID:User-Agent:MIME-Version:Content-Type: Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:Sender:Delivered-To; bh=0vIq4j3+7Hh19S5/182j 4tQtwjM=; b=gV5cuekia+BcvSLEqhJf66ltCIzVbMDtR9SBNDOfQsuRxCXwXJcw nbgN2e3Hg++EGi+/0bfj8clch4ixbDD902/gtS0voOePXZd0mKIU/l6bOUf0gN7+ 13OG1vS6frQY0FE9CmH/GJtRvwz951tP443QBniA66HFwwCcTamzLow= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Date:From:To:Subject:Message-ID:User-Agent:MIME-Version:Content-Type:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=ToZOoorN3QQoobRBe7kQdMlz9tpc91ZQsh6ed2axHlgqBB/DtUrIN7K89ECYog 3q7+6yuxOlqSU4jgiLxEI2GivEsss7Ep8LCoUZX5m+a4JD6J0FgdqE04uUfbx1Kv ixQwlZGn5ylA83C8i2joIS11mMr5FeYXFWSuVstOXzDVw=; Received: (qmail 29524 invoked by alias); 13 Jul 2012 09:16:38 -0000 Received: (qmail 29514 invoked by uid 22791); 13 Jul 2012 09:16:37 -0000 X-SWARE-Spam-Status: No, hits=-5.4 required=5.0 tests=AWL, BAYES_00, KHOP_RCVD_UNTRUST, RCVD_IN_DNSWL_HI, RCVD_IN_HOSTKARMA_W, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from cantor2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 13 Jul 2012 09:16:22 +0000 Received: from relay2.suse.de (unknown [195.135.220.254]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx2.suse.de (Postfix) with ESMTP id 809DAA30B9 for ; Fri, 13 Jul 2012 11:16:21 +0200 (CEST) Date: Fri, 13 Jul 2012 11:16:21 +0200 (CEST) From: Richard Guenther To: gcc-patches@gcc.gnu.org Subject: [PATCH] Fix PR53937 Message-ID: User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org We fail to handle constant addresses in get_pointer_alignment_1 so we use too pessimistic alignment when accessing a packed structure via such a pointer. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Richard. 2012-07-13 Richard Guenther PR middle-end/53937 * builtins.c (get_pointer_alignment_1): Handle constant pointers. Index: gcc/builtins.c =================================================================== --- gcc/builtins.c (revision 189451) +++ gcc/builtins.c (working copy) @@ -536,6 +536,13 @@ get_pointer_alignment_1 (tree exp, unsig return false; } } + else if (TREE_CODE (exp) == INTEGER_CST) + { + *alignp = BIGGEST_ALIGNMENT; + *bitposp = ((TREE_INT_CST_LOW (exp) * BITS_PER_UNIT) + & (BIGGEST_ALIGNMENT - 1)); + return true; + } *bitposp = 0; *alignp = BITS_PER_UNIT;