[PATCH] D139907: [FuzzMutate] RandomIRBuilder has more source and sink type now.

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 12 19:09:00 PST 2022


arsenm requested changes to this revision.
arsenm added inline comments.
This revision now requires changes to proceed.


================
Comment at: llvm/include/llvm/FuzzMutate/RandomIRBuilder.h:46-48
+  GlobalVariable *findOrCreateGlobalVariable(Module *M, ArrayRef<Value *> Srcs,
+                                             fuzzerop::SourcePred Pred,
+                                             bool *DidCreate = nullptr);
----------------
return std::pair instead of using bool out argument?


================
Comment at: llvm/lib/FuzzMutate/RandomIRBuilder.cpp:63
+  DataLayout DL(F->getParent());
+  AllocaInst *Alloca = new AllocaInst(Ty, DL.getProgramAddressSpace(), "A",
+                                      &*EntryBB->getFirstInsertionPt());
----------------
Alloca address space, not program


================
Comment at: llvm/lib/FuzzMutate/RandomIRBuilder.cpp:96
+    Type *Ty = Init->getType();
+    GV = new GlobalVariable(*M, Ty, false, LinkageTypes::ExternalLinkage, Init,
+                            "G");
----------------
Should use datalayout's default global address space


================
Comment at: llvm/lib/FuzzMutate/RandomIRBuilder.cpp:134
+      }
+      auto RS = makeSampler(Rand, make_filter_range(Args, MatchesPred));
+      if (!RS.isEmpty()) {
----------------
With the range do you really need to make the args vector? If so you can just initialize with Args(F->arg_begin(), F->arg_end())


================
Comment at: llvm/lib/FuzzMutate/RandomIRBuilder.cpp:176
+          return LoadGV;
+        } else {
+          LoadGV->eraseFromParent();
----------------
No else after return


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