[llvm-commits] [PATCH, Hexagon]: Remove unnecessary saves and restores to and from the stack in leaf functions.

Arnold Schwaighofer arnolds at codeaurora.org
Fri Aug 10 16:25:07 PDT 2012


LGTM.


> Hi,
>
> This is a fix for PR-13572 (http://llvm.org/bugs/show_bug.cgi?id=13572).
>
> HexagonInstrInfo.td wrongly encoded that register pairs D0 through D10,
> R22,
> R23, R28, R31 and the predicate registers were clobbered
> by a tail call  instruction. So if a function turned into a leaf function
> on
> account of a call being converted into a tail call (jump), the caller-save
> registers would still get saved on the stack and restored from it, quite
> unnecessarily.
>
> The attached patch fixes this problem. I have tested that it builds and
> installs and have also run make check without any regressions with this
> patch.
>
> Pranav
>
> Qualcomm Innovation Center (QuIC) is a member of the Code Aurora Forum.
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>


-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum.




More information about the llvm-commits mailing list