This patch introduces initial AAValueSimplify which simplifies a value in a context.
example
- (for function returned) If all the return values are the same and constant, then we can replace callsite returned with the constant.
- If an internal function takes the same value(constant) as an argument in the callsite, then we can replace the argument with that constant.
I know I started this habit but I now think it is a bad idea to shortcut the classes with using. For one, we don't have nice statistics. Also, the class can derive from the other one and it won't be much more code.