[all-commits] [llvm/llvm-project] 793853: Compute GUIDs once and store in metadata (#184065)

Owen Rodley via All-commits all-commits at lists.llvm.org
Tue May 26 17:11:10 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7938535a54b51a4ca84821b7766d68049c9aa895
      https://github.com/llvm/llvm-project/commit/7938535a54b51a4ca84821b7766d68049c9aa895
  Author: Owen Rodley <orodley at google.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/test/CodeGen/cfi-icall-trap-recover-runtime.c
    M clang/test/CodeGen/lto-newpm-pipeline.c
    M clang/test/CodeGenCXX/cfi-vcall-trap-recover-runtime.cpp
    M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
    M lld/test/ELF/lto/devirt_vcall_vis_public.ll
    M lld/test/ELF/lto/devirt_vcall_vis_shared_def.ll
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/include/llvm/Bitcode/BitcodeReader.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/FixedMetadataKinds.def
    M llvm/include/llvm/IR/GlobalValue.h
    M llvm/include/llvm/IR/Module.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/LTO/LTO.h
    A llvm/include/llvm/Transforms/Utils/AssignGUID.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/Globals.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
    M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
    A llvm/lib/Transforms/Utils/AssignGUID.cpp
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    M llvm/lib/Transforms/Utils/CloneModule.cpp
    M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/test/Assembler/index-value-order.ll
    M llvm/test/Bitcode/thinlto-alias.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary.ll
    M llvm/test/CodeGen/X86/fat-lto-section.ll
    M llvm/test/LTO/Resolution/X86/not-prevailing-alias.ll
    M llvm/test/LTO/Resolution/X86/not-prevailing-weak-aliasee.ll
    M llvm/test/Linker/funcimport2.ll
    M llvm/test/Other/new-pm-O0-defaults.ll
    M llvm/test/Other/new-pm-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
    M llvm/test/ThinLTO/AArch64/aarch64_inline.ll
    M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions1.ll
    M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions2.ll
    M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions3.ll
    M llvm/test/ThinLTO/X86/ctor-dtor-alias.ll
    M llvm/test/ThinLTO/X86/ctor-dtor-alias2.ll
    M llvm/test/ThinLTO/X86/deadstrip.ll
    M llvm/test/ThinLTO/X86/devirt_function_alias.ll
    M llvm/test/ThinLTO/X86/devirt_function_alias2.ll
    M llvm/test/ThinLTO/X86/devirt_pure_virtual_base.ll
    M llvm/test/ThinLTO/X86/devirt_vcall_vis_public.ll
    M llvm/test/ThinLTO/X86/distributed_import.ll
    M llvm/test/ThinLTO/X86/funcattrs-prop-exported-internal.ll
    M llvm/test/ThinLTO/X86/funcattrs-prop-unknown.ll
    M llvm/test/ThinLTO/X86/funcattrs-prop-weak.ll
    M llvm/test/ThinLTO/X86/globals-import.ll
    M llvm/test/ThinLTO/X86/hidden-escaped-symbols-alt.ll
    M llvm/test/ThinLTO/X86/hidden-escaped-symbols.ll
    M llvm/test/ThinLTO/X86/import-ro-constant.ll
    M llvm/test/ThinLTO/X86/index-const-prop-alias.ll
    M llvm/test/ThinLTO/X86/index-const-prop.ll
    M llvm/test/ThinLTO/X86/linkonce_resolution_comdat.ll
    M llvm/test/ThinLTO/X86/memprof-dups.ll
    M llvm/test/ThinLTO/X86/memprof_callee_type_mismatch.ll
    M llvm/test/ThinLTO/X86/memprof_imported_internal.ll
    M llvm/test/ThinLTO/X86/memprof_imported_internal2.ll
    M llvm/test/ThinLTO/X86/prevailing_weak_globals_import.ll
    M llvm/test/ThinLTO/X86/visibility-elf.ll
    M llvm/test/ThinLTO/X86/visibility-macho.ll
    M llvm/test/ThinLTO/X86/weak_resolution.ll
    M llvm/test/ThinLTO/X86/windows-vftable.ll
    M llvm/test/ThinLTO/X86/writeonly.ll
    A llvm/test/Transforms/AssignGUID/assign_guid.ll
    M llvm/test/Transforms/EmbedBitcode/embed-wpd.ll
    M llvm/test/Transforms/EmbedBitcode/embed.ll
    M llvm/test/Transforms/FunctionImport/funcimport-debug-retained-nodes.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
    M llvm/test/Transforms/PGOProfile/thinlto_indirect_call_promotion.ll
    M llvm/test/Transforms/PhaseOrdering/speculative-devirt-then-inliner.ll
    M llvm/test/Transforms/SampleProfile/ctxsplit.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-typeid.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/unsplittable.ll
    M llvm/test/Transforms/WholeProgramDevirt/branch-funnel-profile.ll
    M llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll
    M llvm/test/Transforms/WholeProgramDevirt/export-vcp.ll
    M llvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll
    M llvm/test/tools/gold/X86/devirt_vcall_vis_public.ll
    M llvm/test/tools/gold/X86/devirt_vcall_vis_shared_def.ll
    M llvm/test/tools/gold/X86/thinlto_weak_library.ll
    M llvm/test/tools/gold/X86/thinlto_weak_resolution.ll
    M llvm/test/tools/gold/X86/v1.16/devirt_vcall_vis_export_dynamic.ll
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/tools/opt/NewPMDriver.cpp
    M llvm/tools/opt/optdriver.cpp

  Log Message:
  -----------
  Compute GUIDs once and store in metadata (#184065)

This allows us to keep GUIDs consistent across compilation phases which
may change the name or linkage type.

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

This is a large change since the addition of metadata breaks many tests.
The test changes are mostly just trivial changes to checks to get them
passing.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list