-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ugh.  I feel like an idiot.

bkoz mentioned in IRC that he was having bootstrapping failures several
days ago.   Unfortunately, we didn't exchange much info other than the
target (x86-64) and since I wasn't having any problems I didn't follow
up further.

As it turns out it was my patch and the fact that Benjamin configures
with --disable-checking (or perhaps --enable-checking=release) while I
don't bother twiddling the checking options.

The underlying problem was the code in determine_bb_domination_status
only conditionally checks that BB is is a successor of LOOP->header
(conditional on ENABLE_CHECKING).  My change to look deeper in the CFG
for threading opportunities broke the assumptions of
determine_bb_domination_status and while I twiddled it to return the
safe return value, it was done so only within the ENABLE_CHECKING clause.

This patch removes the conditional compilation of the check that BB is a
successor of LOOP->header and fixes the comparison failures.  The check
isn't expensive.

Bootstrapped and regression tested on x86_64-unknown-linux-gnu, checking
enabled.  Also verified a checking-disabled bootstrap was successful and
the testsuite results were consistent with the checking-enabled test
results.  Installed.

Sorry for all the problems,
Jeff

ps.  Yes, I've had this fix since 10am this morning.  3 bootstraps and
regress tests taken until nearly 4pm to complete..  libjava is not my
friend.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJNm4zQAAoJEBRtltQi2kC7GC8H/i1KFUn/QZl5QiEL904/cyPI
uPPJ//0h28P7eEhP5oh/HV4n5eJZmKm4KbhSgAaxMSuhqWvOwkF6MWQ/Af62xFsb
dywSbA8TgS2yQSvoho+YkUT1IaU7/Za1yzlQ6VE7yDWJvkTu3v8RljSrX/9v7v/g
e3gH0iJxZpesnodRAAQzkw1q972OOyrIb+fe45WwN1xfIWd4p6zMJS8e/n/yS+YC
h9+iVl8zcXeG2Z/QK3WQQ7HTkAjbN4I4ymCWKcHt48bmaiH867+5AisFbhCrEJTz
Lb3SJ3DNtO0If/9yWYzFOsTlnrmS2VPEbJfDXHcNi6xW4B1zPF9Jt5+38LK4ATM=
=went
-----END PGP SIGNATURE-----
        PR bootstrap/48444
        * tree-ssa-threadupdate.c (determine_bb_domination_status): Always
        check if BB is a successor of LOOP->header and return NONDOMINATING
        if it is not, regardless of ENABLE_CHECKING.

Index: tree-ssa-threadupdate.c
===================================================================
*** tree-ssa-threadupdate.c     (revision 171989)
--- tree-ssa-threadupdate.c     (working copy)
*************** determine_bb_domination_status (struct l
*** 665,671 ****
    edge_iterator ei;
    edge e;
  
- #ifdef ENABLE_CHECKING
    /* This function assumes BB is a successor of LOOP->header.
       If that is not the case return DOMST_NONDOMINATING which
       is always safe.  */
--- 665,670 ----
*************** determine_bb_domination_status (struct l
*** 684,690 ****
        if (!ok)
        return DOMST_NONDOMINATING;
      }
- #endif
  
    if (bb == loop->latch)
      return DOMST_DOMINATING;
--- 683,688 ----

Reply via email to