(mis)Optimization
Actually, LLVM, the compiler’s backend / optimizer, does not know we are dealing with a register andwill merge the writes thus changing the behavior of our program. Let’s check that really quick.
We can check that using :
If we look at the disassembly of this new program compiled in release mode: