This is an archive of the discontinued LLVM Phabricator instance.

TableGen: Avoid using resolveListElementReference in TGParser
ClosedPublic

Authored by nhaehnle on Feb 21 2018, 2:44 AM.

Details

Summary

A subsequent change intends to remove resolveListElementReference
entirely. This part of the removal can be split out for better
bisectability.

Diff Detail

Repository
rL LLVM

Event Timeline

nhaehnle created this revision.Feb 21 2018, 2:44 AM
tra added a comment.Feb 22 2018, 10:01 AM

Please add more details. Description says what the patch does, but not why. There must be the reason for this change, but I can only guess what it is.
The major difference appears to be that now we do call resolveReferences() for each element, while resolveElementReferences() in the old code effectively just returns getElement(i). If resolving references is the purpose of the change, then patch description should reflect that. Also, if that's the case, perhaps it would be better to fix the problem in the List->resolveListElementReference() and make it actually do the reference resolution the name implies.

tra added a comment.Feb 22 2018, 10:05 AM

Upon review of D43562 I think this patch should be folded into it -- it's just a small part of removing resolveListElementReference().

nhaehnle updated this revision to Diff 135525.Feb 22 2018, 2:50 PM

Better summary.

Are you sure? The whole point of splitting it out is that it can be changed separately, and if it breaks something a bisect result will be more helpful. I've tested this quite thoroughly so I don't think it does break anything, but still... seems like a waste to merge it back in. Maybe I'm just too used to the old-school Git way of doing things.

tra added a comment.Feb 22 2018, 3:01 PM

Are you sure? The whole point of splitting it out is that it can be changed separately, and if it breaks something a bisect result will be more helpful. I've tested this quite thoroughly so I don't think it does break anything, but still... seems like a waste to merge it back in. Maybe I'm just too used to the old-school Git way of doing things.

On its own this change is rather non-obvious. It makes whole lot more sense (to me at least) in the context of removing resolveListElementReference().

I'm fine keeping the patches separate, as long as this patch comes with an adequate description of what's going on.

Better summary.

I don't see any changes. The summary is still empty and there are no changes to the files.

nhaehnle edited the summary of this revision. (Show Details)Feb 22 2018, 4:39 PM
In D43561#1016565, @tra wrote:

Are you sure? The whole point of splitting it out is that it can be changed separately, and if it breaks something a bisect result will be more helpful. I've tested this quite thoroughly so I don't think it does break anything, but still... seems like a waste to merge it back in. Maybe I'm just too used to the old-school Git way of doing things.

On its own this change is rather non-obvious. It makes whole lot more sense (to me at least) in the context of removing resolveListElementReference().

I'm fine keeping the patches separate, as long as this patch comes with an adequate description of what's going on.

Better summary.

I don't see any changes. The summary is still empty and there are no changes to the files.

Sorry about that. I changed this locally, but Arcanist on Git clearly doesn't pick up changes to the commit message :( Should be fixed now.

tra accepted this revision.Feb 22 2018, 5:27 PM
This revision is now accepted and ready to land.Feb 22 2018, 5:27 PM
This revision was automatically updated to reflect the committed changes.