LLVM assembly without basic block

Hello, guys.

I just wonder if there is any way to spit out LLVM assembly without any basic block division.
E.g.,
If I emit LLVM assembly for the following simple code:

Seung Jae Lee wrote:

Hello, guys.

I just wonder if there is any way to spit out LLVM assembly without any basic block division.

I believe you cannot do that, since the basic blocks are defined by the control flow graph, i.e. by the points in the program to which (conditional or unconditional) jumps go. In other words, basic blocks are defined by the destination of goto (in particular those in loops and tests) and calls.

If you restrict yourself to a single basic block, you need to avoid tests and loops.