This patch adds a builtin that returns a non deterministic value of the same type as the argument.
Example:
int x = __builtin_nondeterministic_value(x);
Which is then lowered to freeze(poison).
This is a continuation of the work done in https://reviews.llvm.org/D136737, following the provided feedback.
This text really sells this new builtin as a random value generator..