program code in memory

I whould like to see my last binary code, after optimizations and transformations, in memory.
I do some extra transformations on IR and after them, I need to know position of my program parts, including functions, basic blocks, stack, … . Have got LLVM any tools that helps me? Or I should use general tools for this purpose and which?