[all-commits] [llvm/llvm-project] 8cb0c3: [flang] Add COMDAT to global variables where needed

David Truby via All-commits all-commits at lists.llvm.org
Wed Jun 28 05:49:48 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8cb0c3bb2173890e5f6cf2082fe65682b15888ba
      https://github.com/llvm/llvm-project/commit/8cb0c3bb2173890e5f6cf2082fe65682b15888ba
  Author: David Truby <david at truby.dev>
  Date:   2023-06-28 (Wed, 28 Jun 2023)

  Changed paths:
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/convert-to-llvm.fir
    M flang/test/Fir/tbaa.fir
    M flang/test/Lower/allocatable-assignment.f90
    M flang/test/Lower/character-assignment.f90
    M flang/test/Lower/convert.f90
    M flang/test/Lower/global-format-strings.f90
    M flang/test/Lower/io-statement-open-options.f90
    M flang/test/Lower/namelist.f90
    M flang/test/Lower/read-write-buffer.f90
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp

  Log Message:
  -----------
  [flang] Add COMDAT to global variables where needed

On platforms which support COMDAT sections we should use them when
linkonce or linkonce_odr linkage is requested. This is required on
Windows (PE/COFF) and provides better behaviour than weak symbols on
ELF-based platforms.

This patch also reverts string literals to use linkonce instead of
internal linkage now that comdats are supported.

Differential Revision: https://reviews.llvm.org/D153768




More information about the All-commits mailing list