[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