Commits

Roman Levenstein committed 5893fc2694f
[let-properties-opt] Re-factor and simplify the code. Improve correctness. Based on the review of my previous commit, I did some re-factorings. 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