[PATCH] D42006: AArch64: Omit callframe setup/destroy when not necessary

Jun Bum Lim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 23 14:09:20 PST 2018


junbuml added a comment.

> I didn't do in-depth performance tests. In principle this just remove a few "nop" instructions so I didn't expect big changes. The change gives the scheduler a bit more freedom though as there is not instruction redefining SP anymore... Did you only get regressions and no improvements from this?
> 
> If you have some conrete differences in assembly that would be intersting to look at. I should have time for detailed analysis at the beginning of next week.

I didn't see any gain in our weekily performance run, but regressions which specifically after this change unfortunately.  I looked at one of the hot function (_ZN7way2obj12releasepointEii) in spec2006/astar where this change made changes in spilling widely. I beleive it should be reproducible with -O3. Please let me know if you cannot reproduce the regression; I will be happy to support fixing the regressions.


Repository:
  rL LLVM

https://reviews.llvm.org/D42006





More information about the llvm-commits mailing list