Commits

Chris Lattner committed 1f55287ad22
teach definite init to correctly handle releases of tuples where each element has a known yes/no liveness, as a generalization of the "none are alive" logic. Now the only piece missing is the flow sensitive liveness case. It is pretty nice that DI is able to transform the testcase into this simple logic: sil @release_some_constructed : $@thin () -> () { bb0: %0 = tuple () %1 = function_ref @getSomeClass : $@thin () -> @owned SomeClass // user: %2 %2 = apply %1() : $@thin () -> @owned SomeClass // user: %3 strong_release %2 : $SomeClass // id: %3 %4 = tuple () // user: %5 return %4 : $() // id: %5 } Swift SVN r10629