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



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to