Commits

Michael Gottesman committed f718111a4fc
[arc] Integrate ImmutablePointerSet{,Factory} into ARC Sequence Opts. This speeds and reduces memory consumption of test cases with large CFGs. The specific test case that spawned this fix was a large function with many dictionary assignments: public func func_0(dictIn : [String : MyClass]) -> [String : MyClass] { var dictOut : [String : MyClass] = [:] dictOut["key5000"] = dictIn["key500"] dictOut["key5010"] = dictIn["key501"] dictOut["key5020"] = dictIn["key502"] dictOut["key5030"] = dictIn["key503"] dictOut["key5040"] = dictIn["key504"] ... } This continued for 10k - 20k values. This commit reduces the compile time by 2.5x and reduces the amount of memory allocated by ARC by 2.6x (the memory allocation number includes memory that is subsequently freed). rdar://24350646