[PATCH] D122673: Add kcfi_unchecked attribute

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 11 12:14:09 PDT 2022


aaron.ballman added a comment.

In D122673#3443518 <https://reviews.llvm.org/D122673#3443518>, @samitolvanen wrote:

> In D122673#3443498 <https://reviews.llvm.org/D122673#3443498>, @aaron.ballman wrote:
>
>> I tend to be very wary of modifying the type system with attributes -- questions always arise of what the type system effects are of the attribute. e.g., does it impact overload sets or template specialization? Name mangling? If it doesn't have type system impacts... why does it need to be in the type system at all? This also matters because adding more bits to types can have unintended side effects like accidentally reducing the depth of template instantiations we can process (because of the extra memory pressure). So while I'm not certain what you and @pcc  talked about, it does seem like an approach at least worth thinking about, especially because this patch needs to bump the size of `Type`.
>
> Sure, I agree. I'll take a look at the built-in approach. Do you have any thoughts about reusing `nocf_check`, which is essentially identical to this proposed attribute, just currently limited to x86 CET?

I was thinking about that, but I don't think it's possible to reuse that (however, I must admit that I don't know the semantic details about either of these attributes very well, so I may be missing something). `nocf_check` is allowed on any X86 target, and `kcfi_unchecked` is allowed on x86-64. It seems like that target would still need a way to differentiate between the semantics because the attributes do different things. Or have I misunderstood something about the relationship between `nocf_check` and this attribute? (If the semantics aren't just "essentially identical" but are "actually identical" for x86-64, then this option seems more viable.)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D122673



More information about the cfe-commits mailing list