Deduce "nofree" function attribute.
There are a few things to consider.
# To use llvm::isFreeCall, I need TargetLibraryInfo(TLI) in AANoFreeFunction. For now, I lift TLI to AANoFreeFunction constructor from AttributorPass::run. Therefore, I changed some interface. I'm not sure this is appropriate. Perhaps it is better that Attributor have TLI as a member.
# Currently, nofree intrinsic functions are hard-coded in imitation of D60074. We need a more useful way to handle with intrinsic functions (ex. allow intrinsic functions to have attributes).