[all-commits] [llvm/llvm-project] e0117a: [FuzzMutate] RandomIRBuilder has more source and s...
Peter Rong via All-commits
all-commits at lists.llvm.org
Sat Apr 15 15:46:53 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e0117a3efacf9620408393f162a7795b5e0965d2
https://github.com/llvm/llvm-project/commit/e0117a3efacf9620408393f162a7795b5e0965d2
Author: Peter Rong <PeterRong96 at gmail.com>
Date: 2023-04-15 (Sat, 15 Apr 2023)
Changed paths:
M llvm/include/llvm/FuzzMutate/RandomIRBuilder.h
M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
M llvm/unittests/FuzzMutate/RandomIRBuilderTest.cpp
Log Message:
-----------
[FuzzMutate] RandomIRBuilder has more source and sink type now.
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.
Reviewed By: arsenm
Differential Revision: https://reviews.llvm.org/D139907
More information about the All-commits
mailing list