Commits

Roman Levenstein committed 868e3ccdd3a
[let-properties-opt] Fix a correctness issue. Re-factor and simplify the code. Improve correctness. The code is now simpler and handles more cases. More tests were added. The overall idea of this rewrite is that the pass basically tries to check if it can see all possible writes (i.e. initializations) into a given let property. Only if it can be proven that the pass sees all possible writes and all those initializations are producing the same constant, statically known value, the pass propagates this constant value into uses of a property. SR-1026 and rdar://25303106