title: How to create Loop object on the LLVM?
body: <p>I wonder how LLVM can create Loop object.</p>
  
  <p>There are a lot of objects related to Loop such as LoopInfo, LoopBase, Loop, etc.</p>
  
  <p>But I can't find the location of LLVM source code where they create those objects.</p>
  
  <p>I want to know how they track the back-edge, and how to identify that is a Loop.</p>
  
  <p>So to speak, I want to learn whole principles about detecting and analyzing Loop information on the LLVM</p>