[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