[clang] [PAC][clang] Define `PointerAuthQualifier` and `PointerAuthenticationMode` (PR #84384)

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 16 06:16:34 PDT 2024


================
@@ -607,13 +799,17 @@ class Qualifiers {
 
   void Profile(llvm::FoldingSetNodeID &ID) const {
     ID.AddInteger(Mask);
+    PtrAuth.Profile(ID);
   }
 
 private:
   // bits:     |0 1 2|3|4 .. 5|6  ..  8|9   ...   31|
   //           |C R V|U|GCAttr|Lifetime|AddressSpace|
   uint32_t Mask = 0;
 
+  PointerAuthQualifier PtrAuth;
----------------
AaronBallman wrote:

This doubles the size of `Qualifiers` which is passed by value all over the place. I don't expect significant performance issues from this (though we do still support 32-bit builds of Clang), but do you have ideas on how this impacts compile time performance and memory pressure? (Changes in the type system can have outsized impact in surprising places.)

It may be worth putting a branch up on https://llvm-compile-time-tracker.com/ to see how this impacts things.

https://github.com/llvm/llvm-project/pull/84384


More information about the cfe-commits mailing list