[all-commits] [llvm/llvm-project] ff9c5c: [shrinkwrap] PowerPC's FP register should be honor...

Tony Varghese via All-commits all-commits at lists.llvm.org
Fri Mar 21 09:56:01 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ff9c5c334ad4a93b33703396a401838df2dedc35
      https://github.com/llvm/llvm-project/commit/ff9c5c334ad4a93b33703396a401838df2dedc35
  Author: Tony Varghese <tonypalampalliyil at gmail.com>
  Date:   2025-03-21 (Fri, 21 Mar 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/lib/CodeGen/ShrinkWrap.cpp
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
    M llvm/test/CodeGen/PowerPC/shrink-wrap-frame-pointer.ll

  Log Message:
  -----------
  [shrinkwrap] PowerPC's FP register should be honored when processing the save point for prologue. (#129855)

When generating code for functions that have `__builtin_frame_address`
calls and `noinline` attribute, prologue was not emitted correctly
leading to an assertion failure in PowerPC. The issue was due to
improper insertion of prologue for a function that contain llvm
`__builtin_frame_address`.
Shrink-wrap pass computes the save and restore points of a function.
Default points are the entry and exit points of the function. During
shrink-wrapping the frame-pointer was not honored like the stack pointer
and it was considered as a callee-saved register. This change will treat
the FP similar to SP and will insert the prolog on top the instruction
containing FP.

---------

Co-authored-by: Tony Varghese <tony.varghese at ibm.com>



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