[LoopUtils] Breaking LoopUtils into an analysis pass


I noticed a bunch of routines in lib/Transforms/Utils/LoopUtils.cpp that only analyzes the IR without doing any transformation. Most of the routines in RecurrenceDescriptor and InductionDescriptor classes are used only to analyze and identify the respective IVs. Is it a better option to move them to a file like lib/Analysis/LoopAnalysisUtils.cpp?

The rationale for this is, I am writing an analysis pass that requires InductionDescriptor, and including the LoopUtils.h in this analysis pass is against the CMake policy (produces link error).

Please let me know if it is feasible so that I can submit a patch.