Commits

Xin Tong committed 633ca2e92bd
Simplify function signature optimzation. Several functionalities have been added to FSO over time and the logic has become muddled. We were always looking at a static image of the SIL and try to reason about what kind of function signature related optimizations we can do. This can easily lead to muddled logic. e.g. we need to consider 2 different function signature optimizations together instead of independently. Split 1 single function to do all sorts of different analyses in FSO into several small transformations, each of which does a specific job. After every analysis, we produce a new function and eventually we collapse all intermediate thunks to in a single thunk. With this change, it will be easier to implement function signature optimization as now we can do them independently now. Minimal modifications to the test cases.