[all-commits] [llvm/llvm-project] cedfa3: Preserve the lexical order for global variables du...

jinlin-bayarea via All-commits all-commits at lists.llvm.org
Mon Apr 26 10:11:59 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cedfa38fc46d7531c44ea230b767d8286767f350
      https://github.com/llvm/llvm-project/commit/cedfa38fc46d7531c44ea230b767d8286767f350
  Author: Jin Lin <jinl at uber.com>
  Date:   2021-04-26 (Mon, 26 Apr 2021)

  Changed paths:
    M llvm/lib/Linker/IRMover.cpp
    A llvm/test/Linker/Inputs/globalorder-2.ll
    M llvm/test/Linker/comdat.ll
    M llvm/test/Linker/comdat14.ll
    M llvm/test/Linker/ctors.ll
    M llvm/test/Linker/ctors2.ll
    M llvm/test/Linker/ctors3.ll
    A llvm/test/Linker/globalorder.ll
    M llvm/test/Linker/link-flags.ll
    M llvm/test/Linker/metadata-attach.ll
    M llvm/test/Linker/testlink.ll
    M llvm/test/ThinLTO/X86/import-constant.ll
    M llvm/test/ThinLTO/X86/index-const-prop.ll
    M llvm/test/ThinLTO/X86/index-const-prop2.ll
    M llvm/test/ThinLTO/X86/writeonly.ll
    M llvm/test/ThinLTO/X86/writeonly2.ll

  Log Message:
  -----------
  Preserve the lexical order for global variables during llvm-link merge

The order of global variables is generated in the order of recursively materializing variables if the global variable has the attribute of hasLocalLinkage or hasLinkOnceLinkage during the module merging. In practice, it is often the exact reverse of source order. This new order may cause performance regression.

The change is to preserve the original lexical order for global variables.

Reviewed By: jdoerfert, dexonsmith

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




More information about the All-commits mailing list