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

Peter Rong via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 12 19:04:46 PST 2022


Peter created this revision.
Herald added subscribers: nlopes, hiraditya.
Herald added a project: All.
Peter requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Source and Sink are required when generating a new instruction.
(Term defined by previous author, in LLVM terms it's probably Use and User.)
Previously, only instructions in the same block is considered when taking source and sink.

In this patch, more source and sink types are considered.
For source, we have SrcFromInstInCurBlock, FunctionArgument, InstInDominator, SrcFromGlobalVariable, and NewConstOrStack.
For sink, we have SinkToInstInCurBlock, PointersInDominator, InstInDominatee, NewStore, and SinkToGlobalVariable.

A unit test to make sure source always dominates an instruction, and the instruction always dominates the sink is included.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D139907

Files:
  llvm/include/llvm/FuzzMutate/RandomIRBuilder.h
  llvm/lib/FuzzMutate/RandomIRBuilder.cpp
  llvm/unittests/FuzzMutate/RandomIRBuilderTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D139907.482338.patch
Type: text/x-patch
Size: 21291 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221213/af71c2f3/attachment.bin>


More information about the llvm-commits mailing list