The difference between B and C is that C is more prior than B.
Before compiling the final raw code that is machine dependent, there are various machine independent intermediate representations among which is "SSA" static single assignment.
The SSA works on program's text and do not include any loops. So yes before the actual compiled code, through SSA we can understand the structure and flow of control of our program.
A should/must required lecture for understanding SSA: Go classes SSA (Deepak's sir)