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