5chmidti wrote:

This is a revival of https://reviews.llvm.org/D138499.
There was no previous review on phabricator.

Open questions:
- I think that `<tuple>`/`<utility>` should be included if a `tuple` or `pair` 
is used, but couldn't figure out a clean way to include the headers. It looks 
like the way to go would be through `IncludeCleaner`s `insert` function, but 
for that I would need to construct the `IncludeInserter`. I don't think I can 
get the `FormatStyle` or `BuildDir` from inside a tweak. Does anyone have an 
idea, or is this a non-issue?
- The tweak is unavailable if a tuple or pair is required for the hoisting, but 
no auto return-type deduction is available. This is the case because I 
implemented the return type of the hoisted variables to use `tuple` or `pair` 
if two or more variables are returned. To keep the return type short, I set the 
return type in these cases to `auto`. Should the return type be fully spelled 
out? Should it be spelled out always, or should there be a config option (seems 
a bit overkill)?
- I'm not a fan of the `const&` `HoistSet` member that I used. Should I change 
this to a pointer (it's always non-null)? The `HoistSet` gets created during 
`prepare`, and used in `apply`.


https://github.com/llvm/llvm-project/pull/75533
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to