Some things not stated (or not clear) in Clicks Diss:
- when splitting partitions, n-input Identities might lose
its follower state -> place them on cprop
- the race split might choose the split out the part NOT containing the
split list g. This destroys split_by(), so we have to exchange X and X' if
this happens
- in cause_split() we have to removed all followers from the touched list:
split() doesn't work with them AND we must check the number of elements an split
with the number of leaders (last part is clearly stated in the Diss)
- a node can only be a follower if the leader is in the same partition!
- !constant for leader -> follower transition is misleading: must be neither
Top nor const (no followers in Top and const partitions)
Other changes:
- we don't have to put on the end of the unwalked set in step(), just NOT
at the start
- combined add_to_touched() and add_to_partition_touched()
- we handle n-input identities in segregate_def_use_chain(), no need for
extra handling in segregate_def_use_chain_1()
- BugFix: ensure, that a node after follower -> leader transition is only
placed on fallen once
- BugFix: errouniously deleted add_to_worklist(Y) if old type was T or Const
- clean keep-alives
[r21061]