https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81897

--- Comment #10 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
Created attachment 43037
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43037&action=edit
proposed UNTESTED patch

Everything is so easy once Jeff does all the analysis :).

As mentioned, there is no rhyme or reason to the seemingly random choice of
starting the chain at the immediate dominator of the potentially uninitialized
PHI argument.  The ENTRY block seems like a saner solution, but alas
compute_control_dep_chain() and friends can't handle computing dependency
chains starting at the entry block.

Once that is fixed, we have a shot at analyzing the dependency chain and
calculating if anything invalidated it.  At which point, my code was broken.

I feel like I'm just echoing Jeff :).

The attached UNTESTED patch fixes the PR, while surviving:

  make check-gcc RUNTESTFLAGS=dg.exp=uninit*

I'll go through testing and post if I didn't break the world.

Reply via email to