[llvm-dev] RFC: Should the default LLVM build be deterministic?

Chris Bieneman via llvm-dev llvm-dev at lists.llvm.org
Tue May 3 08:57:46 PDT 2016


Hello LLVM-Dev,

Today if a user checks out LLVM, configures with no options specified, and builds the result is non-deterministic. Meaning if you clean and build again the binaries are not identical. This impacts all target platforms equally and is caused by the default value of LLVM_ENABLE_TIMESTAMPS being On.

I believe this is incorrect behavior, and I’m curious what the wider community thinks.

It is my belief that the default LLVM configuration (meaning no options specified) should be deterministic, and that any option in our build/configuration system that can impact determinism should be disabled by default.

I would like to hold this as a central requirement for build system changes.

Thoughts?
-Chris


More information about the llvm-dev mailing list