[llvm-bugs] [Bug 30337] New: Don't emit Win64 pdata/xdata for "leaf" functions
via llvm-bugs
llvm-bugs at lists.llvm.org
Fri Sep 9 09:07:18 PDT 2016
https://llvm.org/bugs/show_bug.cgi?id=30337
Bug ID: 30337
Summary: Don't emit Win64 pdata/xdata for "leaf" functions
Product: libraries
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: Backend: X86
Assignee: unassignedbugs at nondot.org
Reporter: hans at chromium.org
CC: llvm-bugs at lists.llvm.org
Blocks: 26299
Classification: Unclassified
>From https://msdn.microsoft.com/en-us/library/ms235286.aspx:
"Leaf functions are functions that do not change any non-volatile registers. ..
Leaf functions can be unwound simply by simulating a return, so pdata and xdata
are not required."
Not emitting these would be good for binary size.
Note that such functions can still tail-call others, so they're not really
leafs in the call-graph sense.
If we hook up a way to determine whether a function is a leaf in this sense, we
can also use it to do conditional tail-calls for Win64. Such calls would
generally confuse the unwinder, but in leaf functions they are fine.
--
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/20160909/036895b3/attachment.html>
More information about the llvm-bugs
mailing list