[PATCH] D122375: [CoroSplit] Handle argument being the frame pointer

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 24 02:48:59 PDT 2022


nikic added a comment.

In D122375#3404809 <https://reviews.llvm.org/D122375#3404809>, @ChuanqiXu wrote:

> I am not familiar with retcon coroutines and opaque pointers. But I am surprised for the sentence `If the frame pointer is an argument of the original pointer (which happens with opaque pointers)`. May I ask where we would make it possible to make the FramePtr to be the argument of  the original function with opaque pointers?

Without opaque pointers, the frame pointer is a bitcast of the argument. With opaque pointers, the bitcast is not present, and it's directly the argument. So without opaque pointers, the old frame pointer first becomes `bitcast undef` and then gets replaced with the new frame pointer later. With opaque pointers it becomes undef, which cannot be correctly replaced. This patch tries to artificially add a dummy bitcast to make the replacement work correctly.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D122375/new/

https://reviews.llvm.org/D122375



More information about the llvm-commits mailing list