[all-commits] [llvm/llvm-project] afd0e6: [PowerPC] Diagnose musttail instead of crash insid...

Chen Zheng via All-commits all-commits at lists.llvm.org
Sun Jul 7 18:30:23 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: afd0e6d06ba05cf3cd8b0bb91b6506242de78a4d
      https://github.com/llvm/llvm-project/commit/afd0e6d06ba05cf3cd8b0bb91b6506242de78a4d
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    A clang/test/CodeGen/PowerPC/musttail-forward-declaration-inline.c
    A clang/test/CodeGen/PowerPC/musttail-forward-declaration-weak.c
    A clang/test/CodeGen/PowerPC/musttail-forward-declaration.c
    A clang/test/CodeGen/PowerPC/musttail-indirect.cpp
    A clang/test/CodeGen/PowerPC/musttail-inline.c
    A clang/test/CodeGen/PowerPC/musttail-undefined.c
    A clang/test/CodeGen/PowerPC/musttail-weak.c
    A clang/test/CodeGen/PowerPC/musttail.c

  Log Message:
  -----------
  [PowerPC] Diagnose musttail instead of crash inside backend (#93267)

musttail is not often possible to be generated on PPC targets as when
calling to a function defined in another module, PPC needs to restore
the TOC pointer. To restore the TOC pointer, compiler needs to emit a
nop after the call to let linker generate codes to restore TOC pointer.
Tail call cannot generate expected call sequence for this case.

To avoid the crash inside the compiler backend, a diagnosis is added in
the frontend.

Fixes #63214



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