Commits

Xin Tong committed bfc258f6288
Simplify LSValue::reduce for redundant load elimination LSValue::reduce reduces a set of LSValues (mapped to a set of LSLocations) to a single LSValue. It can then be used as the forwarding value for the location. Previously, we expand into intermediate nodes and leaf nodes and then go bottom up, trying to create a single LSValue out of the given LSValues. Instead, we now use a recursion to go top down. This simplifies the code. And this is fine as we do not expect to run into type tree that are too deep. Existing test cases ensure correctness.