llvm-project
5cd0ba30 - Reapply [IR] Lazily initialize the class to pass name mapping (NFC) (#96321) (#96462)

Commit
1 year ago
Reapply [IR] Lazily initialize the class to pass name mapping (NFC) (#96321) (#96462) On MSVC the `this` uses inside `decltype` require a lambda capture. On clang they result in an unused capture warning instead. Add the capture and suppress the warning with `(void)this`. ----- Initializing this map is somewhat expensive (especially for O0), so we currently only do it if certain flags are used. I would like to make use of it for crash dumps (#96078), where we don't know in advance whether it will be needed or not. This patch changes the initialization to a lazy approach, where a callback is registered that does the actual initialization. The callbacks will be run the first time the pass name is requested. This way there is no compile-time impact if the mapping is not used.
Author
Parents
Loading