labath added a comment.

In D65489#1607807 <https://reviews.llvm.org/D65489#1607807>, @JDevlieghere 
wrote:

> In D65489#1607801 <https://reviews.llvm.org/D65489#1607801>, @labath wrote:
>
> > Why do we need a separate backend for this? Couldn't this be emitted as a 
> > part of the same `#include "XXXProperties.inc"` which defines the property 
> > definition? The two logically belong together, and the only reason they 
> > were separate variables in the first place was the limitations of constexpr 
> > global variables...
>
>
> I'm not sure what you mean by that last sentence, maybe because I don't know 
> the history? Can you elaborate a bit on the "separate variables" part?
>
> To answer your question: the `OptionEnumValueElement`s are used both by 
> properties and command options. Technically it is possible to put them in the 
> same `.td` files, and emit them in the same `.inc` file. The actual code 
> wouldn't change, just the way we invoke: instead of being its own backend, it 
> would be called from both existing backends. I don't have a strong preference 
> for either approach.


Ah, I'm sorry. Somehow I didn't get what the " used by both properties and 
options" part means. I do now, and I agree that in this case, it does not make 
sense to generate these as a part of the properties definition.

However, I'm not sure it then makes sense to generate them at all. I mean, it's 
not like there's any redundancy (like it was for option definitions) in the 
`OptionEnumValueElement` struct, and it's pretty obvious what the individual 
fields mean even without naming them. And the tablegenning definitely increases 
the barrier for understanding the code. Is there any follow-up work or cleanups 
that would not be possible if this just stays a plain C array?


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

https://reviews.llvm.org/D65489



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to