tree 6d5c57efc1dde6d5fe3afb0af55014916b3d6ec9
parent ed3c8702a2582d4a8bbd9a292f6a191c0a656775
author Owen Rodley <orodley@google.com> 1745802583 +1000
committer GitHub <noreply@github.com> 1745802583 +1000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJoDtVXCRC1aQ7uu5UhlAAAeo8QAE3Tk901z1NPX42G91ZmtF5h
 Bh3aGDqrw92N8uRe5XMVfiimoX1jZsT8Qyo1jCrlbLcDPm/kR9gCsqqmnkWu+mlg
 LjHoGo/7GuUS10scF+IcRjuR38vUPEGxPniXzADOBkOcjV0exZCucFS723oGW8AM
 Yz/tjM77NLCiGMSsiDF7Xb+3Dgt2m2ql3Lp739pMbXtUKb3i72E+zbcto0Bg1X4Y
 WZWl2nNQOc/7MTKyijpiju4KrQUyYTD9pPx0FW2nD0Au+3acRoeqD3SzidzYX1Hg
 gH1ZGLeU8j1/4hIRWxeB7Ai6taRh4wi8q6XFvHdErmHRA5MBjhLIJ+n/UTvaM9Jg
 aEhKEEWhjvV8TuOZ7ty98z+4ebJ5Sv98liBgvNE9FIXs3HG945hsoc06gwTOapKk
 R1S4IVq/2USS/bnvICdPcY3ek63nKlWYXP3lg5Rz8Dr+cddk9b8bjlPcD6DL2AXL
 Aiu3CnmMIaCnM0js8exLnv89M/Hqg9vhr41bfxVeOQgvqVVwFX2Zju8058c+vNDF
 Q5TGJWhNXN6hWfX+B87cSezRkXVW5M8h8TfzydRvOVIYgGBJrWcBsGmQaBAges0p
 Dg4PJESJh8FCMWmDRKsI8j/Oeb2O2xDTypk0ApLVQKf4hHS2iaE/wynuC+gZmKOg
 evKw5Ut0fQ4LkD21V5Kv
 =VQjC
 -----END PGP SIGNATURE-----
 

Clean up external users of GlobalValue::getGUID(StringRef) (#129644)

See https://discourse.llvm.org/t/rfc-keep-globalvalue-guids-stable/84801
for context.

This is a non-functional change which just changes the interface of
GlobalValue, in preparation for future functional changes. This part
touches a fair few users, so is split out for ease of review. Future
changes to the GlobalValue implementation can then be focused purely on
that class.

This does the following:

* Rename GlobalValue::getGUID(StringRef) to
  getGUIDAssumingExternalLinkage. This is simply making explicit at the
  callsite what is currently implicit.
* Where possible, migrate users to directly calling getGUID on a
  GlobalValue instance.
* Otherwise, where possible, have them call the newly renamed
  getGUIDAssumingExternalLinkage, to make the assumption explicit.


There are a few cases where neither of the above are possible, as the
caller saves and reconstructs the necessary information to compute the
GUID themselves. We want to migrate these callers eventually, but for
this first step we leave them be.