[all-commits] [llvm/llvm-project] 7c946f: [GlobalOpt] Don't resolve aliased ifuncs with unde...

Alexandros Lamprineas via All-commits all-commits at lists.llvm.org
Fri Jun 21 01:34:02 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7c946f04cf363a8c581529907be8ee9f735591c7
      https://github.com/llvm/llvm-project/commit/7c946f04cf363a8c581529907be8ee9f735591c7
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-06-21 (Fri, 21 Jun 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/test/Transforms/GlobalOpt/resolve-static-ifunc.ll

  Log Message:
  -----------
  [GlobalOpt] Don't resolve aliased ifuncs with undefined resolvees. (#96220)

Fixes https://github.com/llvm/llvm-project/issues/96197.

A global alias should always point to a definition. Ifuncs are
definitions, so far so good. However an ifunc may be statically resolved
to a function that is declared but not defined in the translation unit.

With this patch we perform static resolution if:
 * the resolvee is defined, else if
 * none of the ifunc users is a global alias



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list