[all-commits] [llvm/llvm-project] 0ed613: Ensure target-multiversioning emits deferred decla...

Erich Keane via All-commits all-commits at lists.llvm.org
Tue Apr 20 08:10:50 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0ed613612c5daa047e639877b1c24b36f6069384
      https://github.com/llvm/llvm-project/commit/0ed613612c5daa047e639877b1c24b36f6069384
  Author: Erich Keane <erich.keane at intel.com>
  Date:   2021-04-20 (Tue, 20 Apr 2021)

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

  Log Message:
  -----------
  Ensure target-multiversioning emits deferred declarations

As reported in PR50025, sometimes we would end up not emitting functions
needed by inline multiversioned variants. This is because we typically
use the 'deferred decl' mechanism to emit these.  However, the variants
are emitted after that typically happens.  This fixes that by ensuring
we re-run deferred decls after this happens. Also, the multiversion
emission is done recursively to ensure that MV functions that require
other MV functions to be emitted get emitted.




More information about the All-commits mailing list