This is a part of https://reviews.llvm.org/D95835.
The design is based on MSan origin chains.
An 4-byte origin is a hash of an origin chain. An origin chain is a
pair of a stack hash id and a hash to its previous origin chain. 0 means
no previous origin chains exist. We limit the length of a chain to be 16.
With origin_history_size <= 0, the limit is removed.
The number of an origin node reference count is also limited.
See 3.6.1 of this paper.
The change does not have any test cases yet. The following change
will be adding test cases when the APIs are used.
Which platforms are these? If non-Linux, we don't care for DFSan.