tree 210efa869d2cfc52b43bd7d028a3ac06fb5f540b
parent abf5969f76c6b4196b08fe5ea9c2890e97a61357
author Nikita Popov <npopov@redhat.com> 1719214809 +0200
committer GitHub <noreply@github.com> 1719214809 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmeSLZCRC1aQ7uu5UhlAAAxygQAC4UHEXI7HLMnLX9pTavSx67
 bgj6KoDoLd7NAdi/mJ5tBgonhOgmpYOHuytrLOpuMVFDosR6KjbDs/KhyB5hzpXp
 qOipMlZ5fjaGGVYmHItMUdaio6OveYxY4RFB3xNadVSxVRjnXiDxv1q3r97JCq07
 DiJTBAh75P320RMHDAgSUFrrJj2pyKsQscw1eLVLGCF5H7gOisregRVnlNH4Bt3u
 eCjruqmRjzE90wSkSagv1EN1syW0Dg4rq04oFCESwhgIenhvPrr34Xava79ffrz7
 dULCukNts88oxr/VXQG0vPFm8rvES51Yq/JEYCye/8FbdDKNYvWLskk7EXZRpbtG
 yDSTrcm2Z/eKTunJMSRsisAV5blcHwASCCbFmhr4Z9dzFuJpqPb1FcdPGvxKEKgI
 xJv/mHQs/AuARzmdgzshFWnZW6cP2v92e6yQnfWevSqYtmwg6F8Kn2hAzKyfmfdl
 uh6l/SXGorhjJ+NlMUxUB2bp8zg3HxvyaL5etexjrHybzzBej1b91y0LZ28xeVNZ
 7DJgcTG70TqB7IxW6KbKNVT39ck60hCbTogIYHAzdbL9ssm3IjfqVFJ6OWVaG25P
 IoJpPye9c2olYIYXuqMxNojuvhzVbyOCpVjWYWSmWk+Ml+zd8HAe6jhhcYthpC/I
 Ttv+EWu2vPSwa0FqjWSi
 =JccJ
 -----END PGP SIGNATURE-----
 

[IR] Lazily initialize the class to pass name mapping (NFC) (#96321)

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.