[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