public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "rguenther at suse dot de" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/52571] vectorizer changes alignment of common symbols
Date: Wed, 14 Mar 2012 09:39:00 -0000	[thread overview]
Message-ID: <bug-52571-4-IheuQfwmJg@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-52571-4@http.gcc.gnu.org/bugzilla/>

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52571

--- Comment #4 from rguenther at suse dot de <rguenther at suse dot de> 2012-03-14 09:35:12 UTC ---
On Tue, 13 Mar 2012, ian at airs dot com wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52571
> 
> --- Comment #3 from Ian Lance Taylor <ian at airs dot com> 2012-03-13 15:48:36 UTC ---
> I agree: if the symbol is always common, the linker should use the largest
> alignment.  But the symbol need not always be common.  Consider one file with
> "unsigned long int *p;" and another file with "unsigned long int *p = &i;". 
> That is a valid use of common symbols.  But now gcc might mark the common
> symbol as having an alignment of 16, while leaving the definition with an
> alignment of 8.  The rules of common symbol linking mean that the definition
> will override the common symbol.  But the definition might have an alignment of
> 8, and it might not be possible for the linker to fix that--and in any case,
> the linker won't even try.
> 
> In other words, common symbols are special.  You can't assume that anything you
> change about them will stick, because they might become, in effect, an
> undefined symbol.  I suspect that vect_can_force_dr_alignment_p should be
> checking DECL_COMMON for exactly the reasons that it checks DECL_EXTERNAL.

Ok, thanks for the clarification, I'll produce a patch.

Richard.


  parent reply	other threads:[~2012-03-14  9:35 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-12 21:53 [Bug tree-optimization/52571] New: " ian at airs dot com
2012-03-12 22:10 ` [Bug tree-optimization/52571] " pinskia at gcc dot gnu.org
2012-03-13  8:35 ` rguenth at gcc dot gnu.org
2012-03-13 17:12 ` ian at airs dot com
2012-03-14  9:39 ` rguenther at suse dot de [this message]
2012-03-14 13:02 ` rguenth at gcc dot gnu.org
2012-03-14 13:02 ` rguenth at gcc dot gnu.org
2012-03-16 16:49 ` rguenth at gcc dot gnu.org
2012-03-20 15:33 ` ro at gcc dot gnu.org
2012-03-20 15:57 ` dominiq at lps dot ens.fr
2012-03-20 16:03 ` dominiq at lps dot ens.fr
2012-04-09 23:54 ` mrs at gcc dot gnu.org
2012-05-10 11:45 ` rguenth at gcc dot gnu.org
2012-05-10 12:15 ` jakub at gcc dot gnu.org
2012-05-10 16:11 ` mrs at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-52571-4-IheuQfwmJg@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).