[libFuzzer] implement the -shrink=1 option that tires to make elements of the corpus smaller, off by default 

llvm-svn: 282995
diff --git a/llvm/lib/Fuzzer/FuzzerOptions.h b/llvm/lib/Fuzzer/FuzzerOptions.h
index 09b2cdec..04a44d8 100644
--- a/llvm/lib/Fuzzer/FuzzerOptions.h
+++ b/llvm/lib/Fuzzer/FuzzerOptions.h
@@ -31,6 +31,7 @@
   bool UseMemcmp = true;
   bool UseMemmem = true;
   bool UseValueProfile = false;
+  bool Shrink = false;
   bool Reload = true;
   bool ShuffleAtStartUp = true;
   bool PreferSmall = true;
@@ -41,6 +42,7 @@
   std::string ArtifactPrefix = "./";
   std::string ExactArtifactPath;
   std::string ExitOnSrcPos;
+  std::string ExitOnItem;
   bool SaveArtifacts = true;
   bool PrintNEW = true; // Print a status line when new units are found;
   bool OutputCSV = false;