[PATCH] D126715: [coro async] Add code to support dynamic aligment of over-aligned types in async frames

John McCall via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 2 14:01:27 PDT 2022


rjmccall accepted this revision.
rjmccall added a comment.
This revision is now accepted and ready to land.

LGTM



================
Comment at: llvm/lib/Transforms/Coroutines/CoroFrame.cpp:1809
     for (const auto &Alias : A.Aliases) {
-      auto *FramePtr = GetFramePointer(Alloca);
+      auto *FramePtr = GetFramePointer(Alloca, false /*NeedsDynamicAlignment*/);
       auto *FramePtrRaw =
----------------
aschwaighofer wrote:
> rjmccall wrote:
> > These three sites all need to be `A.NeedsDynamicAlignment` in case the original alloca is over-aligned, right?  Should we just make `GetFramePointer` take a `const Field &` so that this falls out?
> I relied on the fact that for async ABI we won't get here. (line 1751)
> 
> I will rewrite it as you said so that this is not a ticking time bomb (though the asserts I added would catch that)
Ah, okay.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D126715



More information about the llvm-commits mailing list