[PATCH] D76526: Add an algorithm for performing "optimal" layout of a struct.

Xun Li via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 10 22:13:44 PDT 2021


lxfind added inline comments.


================
Comment at: llvm/include/llvm/Support/OptimalLayout.h:40
+      : Offset(FixedOffset), Size(Size), Id(Id), Alignment(Alignment) {
+    assert(Size > 0 && "adding an empty field to the layout");
+  }
----------------
rjmccall wrote:
> aykevl wrote:
> > This line is triggered in the coroutine lowering passes, see: https://bugs.llvm.org/show_bug.cgi?id=49916
> > 
> > I don't know whether this is a bug in OptimizedStructLayout or in the coroutine lowering passes, but I'm noting it here just in case.
> Hmm.  Abstractly it seems like a reasonable precondition, so it's probably best to fix in the coroutine lowering passes.
I guess we could explicitly check for the size of Alloca in corosplit, and if it's 0, don't put it on the frame?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D76526



More information about the llvm-commits mailing list