I work in a codebase that has many custom dialects. All of which have been using getter and setter methods without prefixes.
Firstly, I would like to thank you guys for adding
let emitAccessorPrefix = kEmitAccessorPrefix_Raw;
This enabled me to pull in the latest MLIR without massive changes to the codebase.
Has it been decided whether this option will be available in perpetuity? Or is this something that will be deprecated in the future?
Associated commit for reference ⚙ D111033 [mlir][ods] Enable emitting getter/setter prefix
I am going to be landing the removal of that option the week after next (I’m out for thanksgiving in the US). That option has been deprecated for quite some time now (formally announced removal in ~early september, but has been the plan since announced a year ago to fully remove).
Oh boy. I have a lot of work to do.
Thanks for the quick response @River707
The 2 commits here were also extremely helpful for me: Comparing llvm:main...jpienaar:main · llvm/llvm-project · GitHub
@jpienaar mentioned them at some point, but I can’t find which discussion/commit referenced them now.
Note that clang-tidy logic for these is quadratic (or similar) in the number of accessors defined, so if you have too many symbols, you will want to split them up. For example, I think I was seeing 20minute times when running refactors for 10,000 accessors and looking into a single header file (I forget if this time is due to setup costs or later costs per file). If needed, I can find and share a patch I created to resolve this quadratic time (it was implemented with assumptions that prevent it from being landed in clang-tidy).
@philass : I’m interested to hear if you have suggestions about how to communicate this kind of things better with downstream consumers like you to avoid being surprised at the last minute.