[PATCH] D139907: [FuzzMutate] RandomIRBuilder has more source and sink type now.
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 4 05:49:42 PST 2023
arsenm added inline comments.
================
Comment at: llvm/include/llvm/FuzzMutate/RandomIRBuilder.h:21-29
class BasicBlock;
class Instruction;
class LLVMContext;
class Type;
class Value;
+class Module;
+class Function;
----------------
clang-format should sort these alphabetically for you
================
Comment at: llvm/lib/FuzzMutate/RandomIRBuilder.cpp:127
+ // mismatch.
+ SmallVector<Argument *, 4> Args;
+ for (uint64_t i = 0; i < F->arg_size(); i++) {
----------------
Use default size, or something larger
================
Comment at: llvm/lib/FuzzMutate/RandomIRBuilder.cpp:128
+ SmallVector<Argument *, 4> Args;
+ for (uint64_t i = 0; i < F->arg_size(); i++) {
+ Args.push_back(F->getArg(i));
----------------
Args(F.args()) or Args(F.arg_begin, F.arg_end()) should work to do this in the constructor
================
Comment at: llvm/lib/FuzzMutate/RandomIRBuilder.cpp:345
+ return new StoreInst(V, GV, Insts.back());
+ break;
+ }
----------------
dead break
================
Comment at: llvm/unittests/FuzzMutate/RandomIRBuilderTest.cpp:265
+ if (LoadInst *LI = dyn_cast<LoadInst>(V)) {
+ ASSERT_NE(LI->getOperand(0), FuncPtr);
+ ASSERT_NE(LI->getOperand(0), OpaquePtr);
----------------
Don't see why this needs to be ASSERT, and not EXPECT
================
Comment at: llvm/unittests/FuzzMutate/RandomIRBuilderTest.cpp:353
+ }";
+ std::vector<Type *> Types = {Type::getInt32Ty(Ctx), Type::getInt64Ty(Ctx)};
+ RandomIRBuilder IB(Seed, Types);
----------------
Try adding some vector, pointer, FP, and aggregate types?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D139907/new/
https://reviews.llvm.org/D139907
More information about the llvm-commits
mailing list