[PATCH] D100739: [Coroutines] Handle overaligned frame allocation (2)

Yuanfang Chen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 23 14:44:04 PDT 2021


ychen added a comment.

In D100739#2712268 <https://reviews.llvm.org/D100739#2712268>, @lxfind wrote:

>> Sorry for the confusion. I think either overaligned or under-aligned could be used here to describe the problem: either "Handle overaligned frame" or "Fix under-aligned frame". Since c++ spec defines the former but not the later (https://en.cppreference.com/w/cpp/language/object#Alignment), my first intuition was to use the term "overalign". Under-aligned is the undesired outcome that should be fixed (probably too late to handle I assume). Also the overaligned is a static property whereas 'under-aligned" is a runtime property. From the compiler's perspective, I think overaligned should be preferred. With that said, I don't feel strongly about this. I could switch to use "overaligned" if that feels more intuitive.
>
> Here "overaligned frame" doesn't already occur.

It does occur. `FrameAlign > Shape.getSwitchCoroId()->getAlignment())` this check reflects the definition of C++ spec's definition of overalign.

> From what I understand, you really just want to support promise object alignment. So why not just say that directly?

This patch does not deal with promise in any specific way. It treats promise just like any other frame members.

> To add on that, I do think you need to describe the problem in more detail in the description. It's indeed still confusing.

Yep, will do that.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D100739



More information about the llvm-commits mailing list