[PATCH] D43647: Generate most of the target properties from a central specification.

Adrian Prantl via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 22 16:20:49 PST 2018


aprantl added a comment.

In https://reviews.llvm.org/D43647#1016722, @jingham wrote:

> What would I have to figure out if I wanted to stop where one of these properties was actually set or read?  That's something I've had to do many's the time...  This task is straightforward in the original, and if it's not too bad to cons up the name from this macro goo then I'm over all in favor.


You won't be able to set a breakpoint on a specific source line, but setting a breakpoint by name, such as "b TargetProperties::SetNonStopModeEnabled" has worked before and keeps working with this implementation. It will take you to Target.h:106 which is the shared source location for all boolean set functions.

> I'm not a big fan of macros, but what this is replacing wasn't all that pretty either.

Yeah, this isn't great, but at least it's an established pattern that's used all over our code base.

> Also (though you probably knew this) there are Properties in a lot of classes, so to do it properly you would have to have be able to move all the goo but including the individual defs files to the Properties.h for this to be viable.

Oh! I *didn't* know that. Is there a good reason to keep these properties there or would it make sense to just build a central place for all properties.


Repository:
  rL LLVM

https://reviews.llvm.org/D43647





More information about the llvm-commits mailing list