[PATCH] D84782: [PGO] Include the mem ops into the function hash.
David Li via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 28 14:58:42 PDT 2020
davidxl added a comment.
We may also need to bump both the raw and index format version with this change. For the profile use side, we also need to keep the hashing scheme of the older version (in profile-use side). More details to come.
Many tests can also be enhanced to filter out the hash details if they are not part the main test.
================
Comment at: llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp:623
// Compute Hash value for the CFG: the lower 32 bits are CRC32 of the index
-// value of each BB in the CFG. The higher 32 bits record the number of edges.
+// value of each BB in the CFG. The higher 32 bits are the CR32 of the numbers
+// of selects, indirect calls, mem ops and edges.
----------------
MaskRay wrote:
> To make sure I understand: we use two CRCs instead of one CRC because we want to extract low/high 32 bits for debugging purposes?
>
> Otherwise, we can just use one CRC.
JamCRC produces a 32bit value.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D84782/new/
https://reviews.llvm.org/D84782
More information about the cfe-commits
mailing list