[llvm-bugs] [Bug 50553] New: Link register not saved across Statepoint call sites
via llvm-bugs
llvm-bugs at lists.llvm.org
Tue Jun 1 09:07:09 PDT 2021
https://bugs.llvm.org/show_bug.cgi?id=50553
Bug ID: 50553
Summary: Link register not saved across Statepoint call sites
Product: libraries
Version: 12.0
Hardware: All
OS: All
Status: NEW
Severity: enhancement
Priority: P
Component: Backend: AArch64
Assignee: unassignedbugs at nondot.org
Reporter: david.lloyd at redhat.com
CC: arnaud.degrandmaison at arm.com,
llvm-bugs at lists.llvm.org, smithp352 at googlemail.com,
Ties.Stuij at arm.com
On Aarch64, it seems that the link register isn't saved across statepoint call
sites, causing general havoc.
The workaround appears to be to forcibly enable frame pointers for non-leaf
functions, but there may be other register issues that are not as obvious.
Using `llc -march=aarch64`, it can be shown with a simple program that the
branch does not preserve the link register. Here's the example on godbolt:
https://godbolt.org/z/a7oYva4Eb
As can be seen, forcing the frame pointer to be used fixes the issue.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210601/ed5ed134/attachment.html>
More information about the llvm-bugs
mailing list