[PATCH] D96854: [CodeExtractor] Enable partial aggregate arguments

Giorgis Georgakoudis via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun May 9 00:54:34 PDT 2021


ggeorgakoudis added a comment.

In D96854#2709726 <https://reviews.llvm.org/D96854#2709726>, @vsk wrote:

> Oh, I think I see what you meant - was it that the CE analysis cache can be re-used? The motivation there was eliminating quadratic compile-time for repeated outlining (D68616 <https://reviews.llvm.org/D68616>); with that change some cached analysis of the caller became reusable, but not the extractor instance itself.

Yes, that's what I meant! The CE analysis is reused and the `extractCodeRegion` should only define the way to extract the analyzed region to an outlined function.

> I believe this would be true of any API we pick today.

I think it doesn't have to be this way, if we move the `AggregateArgs` flag to be an argument to `extractCodeRegion` along with the exclusions. For the use case in the OpenMP IR builder either interface will work. Since you have a more holistic use of the clients of CodeExtractor, so I'll let you make the call. Shall I go forth with the `addArgExludedFromAggregate` interface?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D96854



More information about the llvm-commits mailing list