This doesn't change the compiled output, merely reorders the basic blocks.
Frontends tend to create basic blocks in the order they discover that they
need the blocks, which is often not a great order for reading and
understanding the IR output.
The new pass is never called by default, but can be invoked with opt:
opt -S -passes improve-reading-order somefile.bc | less
Don't open a namespace in a header.