[llvm] [FuzzMutate] Prevent the mutator from generating invalid IR caused by non-callable CCs (PR #139080)

Manuel Carrasco via llvm-commits llvm-commits at lists.llvm.org
Fri May 9 01:30:29 PDT 2025


https://github.com/mgcarrasco updated https://github.com/llvm/llvm-project/pull/139080

>From 2d025357f73447fdc3102e6ab8f662912e3e125d Mon Sep 17 00:00:00 2001
From: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: Thu, 8 May 2025 06:11:24 -0700
Subject: [PATCH] [FuzzMutate] Prevent the mutator from generating invalid IR
 caused by non-callable CCs.

---
 llvm/lib/FuzzMutate/IRMutator.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/llvm/lib/FuzzMutate/IRMutator.cpp b/llvm/lib/FuzzMutate/IRMutator.cpp
index 7e28f58046b1f..d5535ee9aaf66 100644
--- a/llvm/lib/FuzzMutate/IRMutator.cpp
+++ b/llvm/lib/FuzzMutate/IRMutator.cpp
@@ -374,7 +374,8 @@ void InsertFunctionStrategy::mutate(BasicBlock &BB, RandomIRBuilder &IB) {
     return T->isMetadataTy() || T->isTokenTy();
   };
   if (!F || IsUnsupportedTy(F->getReturnType()) ||
-      any_of(F->getFunctionType()->params(), IsUnsupportedTy)) {
+      any_of(F->getFunctionType()->params(), IsUnsupportedTy) ||
+      !isCallableCC(F->getCallingConv())) {
     F = IB.createFunctionDeclaration(*M);
   }
 



More information about the llvm-commits mailing list