[all-commits] [llvm/llvm-project] cc8390: Permit attribute 'used' with 'target' multiversion...

Erich Keane via All-commits all-commits at lists.llvm.org
Mon Mar 9 12:38:16 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: cc8390bfe30d08633d62a1b53e6669e386c95600
      https://github.com/llvm/llvm-project/commit/cc8390bfe30d08633d62a1b53e6669e386c95600
  Author: Erich Keane <erich.keane at intel.com>
  Date:   2020-03-09 (Mon, 09 Mar 2020)

  Changed paths:
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CodeGen/attr-target-mv.c
    M clang/test/Sema/attr-target-mv.c

  Log Message:
  -----------
  Permit attribute 'used' with 'target' multiversioning.

This adds infrastructure for a multiversioning whitelist, plus adds
'used' to the allowed list with 'target'.  The behavior here mirrors the
implementation in GCC, where 'used' only applies to the single
declaration and doesn't apply to the ifunc or resolver.

This is not being applied to cpu_dispatch and cpu_specific, since the
rules are more complicated for cpu_specific, which emits multiple
symbols. Additionally, the author isn't currently aware of uses in the
wild of this combination, but is aware of a number of target+used
combinations.




More information about the All-commits mailing list