[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