diff options
author | Tony Varghese <tonypalampalliyil@gmail.com> | 2025-03-21 22:25:39 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-21 12:55:39 -0400 |
commit | ff9c5c334ad4a93b33703396a401838df2dedc35 (patch) | |
tree | da147a1a486d31d12c4d18ad9fa9a1a3326c67e8 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
parent | 72d1058af0f065c63cc5bb36a93cc5824429fac7 (diff) | |
download | llvm-ff9c5c334ad4a93b33703396a401838df2dedc35.zip llvm-ff9c5c334ad4a93b33703396a401838df2dedc35.tar.gz llvm-ff9c5c334ad4a93b33703396a401838df2dedc35.tar.bz2 |
[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@ibm.com>
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions