[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