This is an archive of the discontinued LLVM Phabricator instance.

[SyntaxTree] Implement "by-pointer output parameter to return value" refactoring.
Needs ReviewPublic

Authored by eduucaldas on Oct 20 2020, 7:46 AM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

Example of such refactoring:

Customer* C;
getCustumer(C);
Customer C = getCustumer();

Diff Detail

Event Timeline

eduucaldas created this revision.Oct 20 2020, 7:46 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 20 2020, 7:46 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript
eduucaldas requested review of this revision.Oct 20 2020, 7:46 AM

I imagine test coverage would be handy (I'm probably not the right reviewer for this in general, but was/am curious to see how it goes - you might want to search for other contributors/reviewers to the code you're changing and request/add them as reviewers for this patch)

This patch will build upon https://reviews.llvm.org/D90240 and https://reviews.llvm.org/D90161
When those patches land, work on this patch will resume.
It is here to illustrate the relevance of the previous patches and the general direction we're going.

Glad to see that you're interested David, we'll keep you updated.

Sam, this patch is outdated, as we're still making decisions on https://reviews.llvm.org/D90161 and we haven't yet landed https://reviews.llvm.org/D90240, please don't bother reviewing it.

This is where we started thinking about iterators on lists, and about the usefulness of having reverse links for syntax nodes.

I have added you to the subscriber list so you can follow the discussion once this is unblocked, and to show you the Mutations API in its early steps.