From d09af8f21b63443a698cd11ee8ae85ac68795d04 Mon Sep 17 00:00:00 2001 From: Manuel Carrasco 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); }