[all-commits] [llvm/llvm-project] 74bece: [WPD][ELF] Allow whole program devirtualization fo...

Fangrui Song via All-commits all-commits at lists.llvm.org
Tue Mar 9 22:34:05 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 74bece8ddee73b28af42b0fa38786d974aeac972
      https://github.com/llvm/llvm-project/commit/74bece8ddee73b28af42b0fa38786d974aeac972
  Author: Fangrui Song <i at maskray.me>
  Date:   2021-03-09 (Tue, 09 Mar 2021)

  Changed paths:
    M lld/ELF/LTO.cpp
    A lld/test/ELF/lto/devirt_vcall_vis_localize.ll

  Log Message:
  -----------
  [WPD][ELF] Allow whole program devirtualization for version script localized symbols

A `local:` version node in a version script can change the effective symbol binding
to STB_LOCAL. The linker needs to communicate the fact to enable WPD
(otherwise LTO does not know that the `!vcall_visibility` metadata has
effectively changed from VCallVisibilityPublic to VCallVisibilityLinkageUnit).

Reviewed By: tejohnson

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




More information about the All-commits mailing list