serge-sans-paille added a comment. In D114082#3149631 <https://reviews.llvm.org/D114082#3149631>, @rnk wrote:
>> it is possible to list all internal keys in one place > > I think one of the original goals of adding support for string attributes > (maybe @void will give some input) was specifically to avoid having one giant > list with all the attributes supported by all the backends. String attributes > were initially called "target dependent attributes", or something like that. > I think we had a `td_attrs` accessor at some point. There was this idea that > LLVM should not know about x86-specific attributes. There should be some kind > of indirection and delegation to the target backend. LLVM has not always > succeeded in following this vision, see for example the target-specific > intrinsic enums, which were one giant enum until D71320 > <https://reviews.llvm.org/D71320>. > > I think, even if LLVM IR has to know all of the target-specific internally > used attributes, we can try to honor that target independent vision by having > separate headers for different target specific attributes. Does that sound > reasonable? It's at least consistent with how we handle intrinsics > (IntrinsicsX86.h, IntrinsicsAArch64.h etc). The sub-review I proposed in https://reviews.llvm.org/D114394 does not introduce any list, so that should be a decent first step. As a second step, many passes already register their attribute in some local header and I can just generalize that: no big list but some local explicit definition. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114082/new/ https://reviews.llvm.org/D114082 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits