[all-commits] [llvm/llvm-project] dd33f5: [Flang][Driver] Added support for -funique-interna...

Kaviya Rajendiran via All-commits all-commits at lists.llvm.org
Wed Sep 23 05:47:58 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: dd33f57479c1d1d86649a1867b79be88ce04da73
      https://github.com/llvm/llvm-project/commit/dd33f57479c1d1d86649a1867b79be88ce04da73
  Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/CompilerGeneratedNames.cpp
    M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
    A flang/test/Driver/funique-internal-linkage-names.f90
    A flang/test/Lower/unique-internal-linkage-names.f90
    A flang/test/Transforms/function-attrs-unique-internal-linkage-names.fir
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    A mlir/test/Target/LLVMIR/Import/sample-profile-suffix-elision-policy.ll
    A mlir/test/Target/LLVMIR/sample-profile-suffix-elision-policy.mlir

  Log Message:
  -----------
  [Flang][Driver] Added support for -funique-internal-linkage-names option  (#216680)

The option `-funique-internal-linkage-names` appends an MD5 hash suffix
`(.__uniq.<hash>)` to internal procedure names and sets
`"sample-profile-suffix-elision-policy"="selected"` on those functions,
enabling the sample profiler to correctly match profiles to internal
procedures across compilation units.

Implementation:
- Added a unique hash suffix to internal procedure names when
`-funique-internal-linkage-names` is enabled. The suffix is derived from
the source file path and disambiguates identically named internal
procedures across different compilation units, which helps accurate
sample-based profiling.
- Added the function attribute
`"sample-profile-suffix-elision-policy"="selected"` on internal
procedures in LLVM IR. This attribute is used by the LLVM sample profile
loader to control suffix stripping during profile matching



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