Keep the CPS pass from creating proc points due to unreachable parents.
authorMichael D. Adams <adamsmd@cs.indiana.edu>
Sun, 15 Jul 2007 16:20:03 +0000 (16:20 +0000)
committerMichael D. Adams <adamsmd@cs.indiana.edu>
Sun, 15 Jul 2007 16:20:03 +0000 (16:20 +0000)
commitca9c90e51724d8efdebfd97128b21c5bc0eed555
tree1998b162af478acdad6b50a9e8bd935998576170
parenta9eda06434ea9fb4764c2a587ccd53df09f7c470
Keep the CPS pass from creating proc points due to unreachable parents.

The parser/flattener will generate an extra block after an if/else
statement even if both branches exit the function.  So it is possible
for the input to the CPS pass to have dead/unreachable blocks.

If a dead block goes to a live block then the live block would
have more parents than the dead block and prior to this patch
the live block would then be identified as a proc point.
This is fixed by adding a check to see if the parent
has at least one owner.
compiler/cmm/CmmProcPoint.hs