[PATCH] D39768: [coroutines] Promote cleanup.dest.slot allocas to registers to avoid storing it in the coroutine frame

Gor Nishanov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 7 15:55:38 PST 2017


GorNishanov created this revision.
Herald added a subscriber: EricWF.

We don't want to store cleanup dest slot saved into the coroutine frame (as some of the cleanup code may
access them after coroutine frame destroyed).

This is an alternative to https://reviews.llvm.org/D37093

It is possible to do this for all functions, but, cursory check showed that in -O0, we get slightly longer function (by 1-3 instructions), thus, we are only limiting cleanup.dest.slot elimination to coroutines.


https://reviews.llvm.org/D39768

Files:
  lib/CodeGen/CodeGenFunction.cpp
  lib/CodeGen/CodeGenFunction.h
  test/CodeGenCoroutines/coro-dest-slot.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39768.122004.patch
Type: text/x-patch
Size: 7581 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20171107/f2092523/attachment-0001.bin>


More information about the cfe-commits mailing list