This is the mail archive of the
mailing list for the GCC project.
Re: changing "configure" to default to "gcc -g -O2 -fwrapv ..."
- From: Ian Lance Taylor <iant at google dot com>
- To: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Cc: autoconf-patches at gnu dot org, bug-gnulib at gnu dot org, gcc at gcc dot gnu dot org
- Date: 31 Dec 2006 18:11:50 -0800
- Subject: Re: changing "configure" to default to "gcc -g -O2 -fwrapv ..."
- References: <200612300047.kBU0lFwk014817@localhost.localdomain> <firstname.lastname@example.org> <email@example.com> <firstname.lastname@example.org> <email@example.com> <firstname.lastname@example.org> <email@example.com> <45980B43.firstname.lastname@example.org> <email@example.com> <10612311945.AA05131@vlsi1.ultra.nyu.edu> <firstname.lastname@example.org> <10612312045.AA06726@vlsi1.ultra.nyu.edu> <email@example.com> <10701010202.AA09735@vlsi1.ultra.nyu.edu>
firstname.lastname@example.org (Richard Kenner) writes:
> > > > Note that -fwrapv also _enables_ some transformations on signed
> > > > integers that are disabled otherwise. We for example constant fold
> > > > -CST for -fwrapv while we do not if signed overflow is undefined.
> > > > Would you change those?
> > >
> > > I don't understand the rationale for not wrapping constant folding when
> > > signed overflow is undefined: what's the harm in "defining" it as wrapping
> > > for that purpose? If it's undefined, then why does it matter what we
> > > fold it to? So we might as well fold it to what traditional code expects.
> > If flag_wrapv is false, we can't do any optimization which may
> > introduce signed overflow when it did not already exist.
> But how would that happen here? If we constant-fold something that would
> have overflowed by wrapping, we are ELIMINATING a signed overflow, not
> INTRODUCING one. Or do I misunderstand what folding we're talking about here?
http://gcc.gnu.org/PR27116 is what led to the patch.