Mutating CFG is hard as we have to maintain dominator relations.
We avoid this problem by inserting a CFG into a splitted block.
switch, ret, and br instructions are generated.
Paths
| Differential D139067
[FuzzMutate] New InsertCFGStrategy ClosedPublic Authored by Peter on Nov 30 2022, 5:27 PM.
Details Summary Mutating CFG is hard as we have to maintain dominator relations. switch, ret, and br instructions are generated.
Diff Detail
Event Timeline
arsenm added inline comments. This revision now requires changes to proceed.Dec 9 2022, 2:32 PM Peter added inline comments.
This revision is now accepted and ready to land.Dec 12 2022, 2:33 PM This revision was landed with ongoing or failed builds.Dec 12 2022, 3:21 PM Closed by commit rGbc277eb16b25: [FuzzMutate] New InsertCFGStrategy (authored by Peter). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 482292 llvm/include/llvm/FuzzMutate/IRMutator.h
llvm/include/llvm/FuzzMutate/RandomIRBuilder.h
llvm/lib/FuzzMutate/CMakeLists.txt
llvm/lib/FuzzMutate/IRMutator.cpp
llvm/lib/FuzzMutate/RandomIRBuilder.cpp
llvm/unittests/FuzzMutate/StrategiesTest.cpp
|
line after while