I explore GHC features and how they affect machine code.
ghc -ddump-simpl -ddump-llvm Main.hs
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.
internal global %Main_zdtcSubRegUnTup3_closure_struct<{
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
}>