On Aug 31, 2017, Alexandre Oliva <aol...@redhat.com> wrote:

> On Aug 23, 2017, Richard Biener <richard.guent...@gmail.com> wrote:
>> Just separating the boilerplate changes out from the "meat" of the change
>> into a separate patch for easier reviewing would be nice.

> I've broken up the patch into a patchset with 10 patches.  I've already
> posted the one that makes -g options negatable the other day;

That one was approved and checked in.

> I'll post the other 9 as a follow up to this message.

I've refreshed and retested the others.  There was a conflict in
find_bb_boundaries, and the changes for compare-debug made there seem to
have obviated what was in the patchset, so I dropped mine.

I'm posting the refreshed patchset as a followup to this message.

Regstrapped on x86_64-linux-gnu and i686-linux-gnu, tested with -O1 (*1),
-O2 and -O3 (*2), with and without -fcompare-debug (*3).  Ok to install?

(*1) -O1 required this initializer to silence a warning:

diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index d4d9490..38e87b7 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -6598,7 +6598,7 @@ ix86_option_override_internal (bool main_args_p,
     {
       char *p = ASTRDUP (opts->x_ix86_recip_name);
       char *q;
-      unsigned int mask, i;
+      unsigned int mask = 0, i;
       bool invert;
 
       while ((q = strtok (p, ",")) != NULL)


(*2) -O3 required this initializer to silence a warning:

diff --git a/gcc/ira-color.c b/gcc/ira-color.c
index 22fdb88..4e87e42 100644
--- a/gcc/ira-color.c
+++ b/gcc/ira-color.c
@@ -4325,7 +4325,7 @@ allocno_reload_assign (ira_allocno_t a, HARD_REG_SET 
forbidden_regs)
   int hard_regno;
   enum reg_class aclass;
   int regno = ALLOCNO_REGNO (a);
-  HARD_REG_SET saved[2];
+  HARD_REG_SET saved[2] = {};
   int i, n;
 
   n = ALLOCNO_NUM_OBJECTS (a);


(*3) bootstrap-debug works, but bootstrap-debug-lean fails compare,
because stage2 gets '-fcompare-debug= ' in the producer string, whereas
stage3 gets '-fcompare-debug=-gtoggle -frandom-seed=0x... '.  it is the
compiler driver that supplies the same -frandom-seed for both
-fcompare-debug compilations that take place in stage3 under
bootstrap-debug-lean.  This used to work, but now that we add them to
the producer string, it fails.  I'm inclined to change
gen_producer_string to ignore -fcompare-debug and -frandom-seed, but
dropping the latter is probably not a good idea if it was explicitly
added by the user.  Perhaps we should only drop it from the producer if
it follows the -fcompare-debug option?  Or should we use the stripping
logic from contrib/compare-debug under bootstrap-debug-lean too?

-- 
Alexandre Oliva, freedom fighter    http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/   FSF Latin America board member
Free Software Evangelist|Red Hat Brasil GNU Toolchain Engineer

Reply via email to