llvm-reduce: Account for aliases and ifuncs in IR complexity score
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 17 Jan 2023 00:41:49 +0000 (19:41 -0500)
committerMatt Arsenault <arsenm2@gmail.com>
Fri, 20 Jan 2023 01:35:27 +0000 (21:35 -0400)
llvm/tools/llvm-reduce/ReducerWorkItem.cpp

index a608f6f..635bd7e 100644 (file)
@@ -715,6 +715,12 @@ uint64_t ReducerWorkItem::computeIRComplexityScore() const {
     GlobalMetadata.clear();
   }
 
+  for (const GlobalAlias &GA : M.aliases())
+    Score += classifyReductivePower(GA.getAliasee());
+
+  for (const GlobalIFunc &GI : M.ifuncs())
+    Score += classifyReductivePower(GI.getResolver());
+
   for (const Function &F : M)
     Score += computeIRComplexityScoreImpl(F);