[PATCH] D74813: [RFC] Add hash of block contents to function block names

Duncan P. N. Exon Smith via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 19 14:00:19 PST 2020


dexonsmith added a comment.

Thanks for working on this, I agree it's a really important problem.

I'm as optimistic as Vedant that this is the right approach though.

- On compile time, I do think there's reason to be concerned, since dumping IR was fairly expensive last I checked due to numbering metadata.  Have you tried measuring a the time for a bootstrap of Clang?
- On stability, I'm skeptical this will be an improvement in the general case.  Metadata numbering is unstable, and having that as an input isn't great.  It could even change between compiler versions.
- I'm also worried that the hash will change any time someone touches the body of the block.  That could even cause a change if other code changes a `typedef` which is used inside the block.

Is the current numbering per-module?  Can we change that somehow to per-function?  Then blocks would be numbered by order within a function, which seems fairly stable.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74813/new/

https://reviews.llvm.org/D74813





More information about the cfe-commits mailing list