Vectorizer/alignment
Jakub Jelinek
jakub@redhat.com
Mon Nov 11 13:39:00 GMT 2013
On Mon, Nov 11, 2013 at 02:13:24PM +0100, Richard Biener wrote:
> On Mon, Nov 11, 2013 at 12:39 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> > On Mon, Nov 11, 2013 at 12:29:29PM +0100, Richard Biener wrote:
> >> On Fri, Nov 8, 2013 at 6:51 PM, Hendrik Greving
> >> <hendrik.greving.intel@gmail.com> wrote:
> >> > That didn't do it. What was the rationale w.r.t. to the relation
> >> > between the vectorized sequenced and/or the alignment (I think these
> >> > things are actually 2 separate things..) and the common block?!
> >>
> >> We cannot adjust the alignment of a common block as we don't know
> >> which common block the linker will pick in the end. We can (and do)
> >> adjust the alignment of global variables though. And C++ defaults
> >> to -fno-common.
> >>
> >> In general when asking optimization questions it helps to provide
> >> a testcase that can be compiled - otherwise you just provoke
> >> random guesses (like mine) ;)
> >
> > Well, we had the discussion about turning -fno-common by default for C as
> > well, I think it wouldn't hurt and let people use -fcommon if they need it.
>
> Yeah, so ... shall we just do it? Maybe just for a selected set of
> targets (based on OS?)?
I vote for it. Perhaps with the exception when the variables are also weak,
this worst case results in a link time failure which is easily fixable by
adding -fcommon where really required, and in the usual case (dynamic
linking) it is limited to the each package individually, if we document this
in porting_to.html, I think changing the default is fine.
But I guess it would be nice to hear more voices.
Jakub
More information about the Gcc
mailing list