[clang] Performance optimizations for function effects (nonblocking attribute etc.) (PR #96844)

Doug Wyatt via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 26 21:09:36 PDT 2024


================
@@ -3857,9 +3857,19 @@ void FunctionProtoType::Profile(llvm::FoldingSetNodeID &ID, QualType Result,
   }
 
   epi.ExtInfo.Profile(ID);
-  ID.AddInteger((epi.AArch64SMEAttributes << 1) | epi.HasTrailingReturn);
 
-  epi.FunctionEffects.Profile(ID);
+  unsigned EffectCount = epi.FunctionEffects.size();
+  bool HasConds = !epi.FunctionEffects.Conditions.empty();
+
+  ID.AddInteger(
----------------
dougsonos wrote:

It was slightly measurably better to use more bits of this existing integer.

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


More information about the cfe-commits mailing list