title: How to format llvm output produced by GHC
body: <p>I explore GHC features and how they affect machine code.</p>
  <pre><code>ghc -ddump-simpl -ddump-llvm Main.hs
  </code></pre>
  <p>Command above generates llvm file, snippet is below.
  I wasn't able to find what it is the format and any tool making output more readable with indentations and line breaks. Like I did here manually. The content is smashed into a single line. I guess must be some flag to improve human readability.</p>
  <pre><code>internal global %Main_zdtcSubRegUnTup3_closure_struct&lt;{
    i64 ptrtoint (i8* @ghczmprim_GHCziTypes_TyCon_con_info to i64), 
    i64 add (i64 ptrtoint (%Main_zdtrModule_closure_struct* @Main_zdtrModule_closure$def to i64),i64 1), 
    i64 add (i64 ptrtoint (%r24c_closure_struct* @r24c_closure$def to i64),i64 1), 
    i64 ptrtoint (i8* @ghczmprim_GHCziTypes_krepzdzt_closure to i64), 
    i64 3059269072134316734, 
    i64 -1793863935995381901, 
    i64 0, 
    i64 0
  }&gt;
  </code></pre>