Comment by traxys
2 years ago
I think they meant if you cast a pointer to an integer, do some math on that and then store that. Then you will a stored result that will likely differ from run to run
2 years ago
I think they meant if you cast a pointer to an integer, do some math on that and then store that. Then you will a stored result that will likely differ from run to run
That sounds like runtime differences not a difference between two binaries
The difference in binaries must be caused by some runtime difference of a compiler.
That's right, look at this thread for example:
https://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20...
The Global Value Numbering pass in LLVM was iterating over `DenseMap<BasicBlock*, ...>`, so the iteration order was dependent on the value of BasicBlock pointers. This could lead to the same source files and compiler producing different binaries.