This patch implements a number of minor cleanups in NewGVN. If desired I can split this up further.
- In setMemoryClass(), assert that the memory access is already in MemoryAccessToClass. Previously the code simply did nothing if it was not in the map, which is confusing.
- Add a missing deleteExpression() in PHI Evaluation.
- Simplify handling of the false edge of branch predicates. We can handle this the same way as the true edge with an inverted predicate. This is both more general and simpler than the previous code.
- Fix a copy&paste mistake in addPredicateUsers which caused assumes() to not be handled. I think that due to the specific circumstances of the use, this did not cause issues.
- Simplify SwitchInst edge processing. Don't create an unused SwitchEdges map and handle default+cases the same. This code was probably doing something more prior to the introduction of PredicateInfo and this got left behind.
- Fix some comments.