From fd3a56e8769e5970ea606489a8a789feae2bb4c6 Mon Sep 17 00:00:00 2001 From: Igor Laevsky Date: Mon, 19 Feb 2018 11:57:07 +0000 Subject: [PATCH] [llvm-opt-fuzzer] Add another pack of passes for continuous fuzzing Differential Revision: https://reviews.llvm.org/D43384 llvm-svn: 325487 --- llvm/lib/FuzzMutate/FuzzerCLI.cpp | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/llvm/lib/FuzzMutate/FuzzerCLI.cpp b/llvm/lib/FuzzMutate/FuzzerCLI.cpp index 04939023e2699..83074d09b9b35 100644 --- a/llvm/lib/FuzzMutate/FuzzerCLI.cpp +++ b/llvm/lib/FuzzMutate/FuzzerCLI.cpp @@ -83,16 +83,36 @@ void llvm::handleExecNameEncodedOptimizerOpts(StringRef ExecName) { SmallVector Opts; NameAndArgs.second.split(Opts, '-'); for (StringRef Opt : Opts) { - if (Opt.startswith("instcombine")) { + if (Opt == "instcombine") { Args.push_back("-passes=instcombine"); - } else if (Opt.startswith("earlycse")) { + } else if (Opt == "earlycse") { Args.push_back("-passes=early-cse"); - } else if (Opt.startswith("simplifycfg")) { + } else if (Opt == "simplifycfg") { Args.push_back("-passes=simplify-cfg"); - } else if (Opt.startswith("gvn")) { + } else if (Opt == "gvn") { Args.push_back("-passes=gvn"); - } else if (Opt.startswith("sccp")) { + } else if (Opt == "sccp") { Args.push_back("-passes=sccp"); + + } else if (Opt == "loop_predication") { + Args.push_back("-passes=loop-predication"); + } else if (Opt == "guard_widening") { + Args.push_back("-passes=guard-widening"); + } else if (Opt == "loop_rotate") { + Args.push_back("-passes=loop(rotate)"); + } else if (Opt == "loop_unswitch") { + Args.push_back("-passes=loop(unswitch)"); + } else if (Opt == "loop_unroll") { + Args.push_back("-passes=unroll"); + } else if (Opt == "loop_vectorize") { + Args.push_back("-passes=loop-vectorize"); + } else if (Opt == "licm") { + Args.push_back("-passes=licm"); + } else if (Opt == "indvars") { + Args.push_back("-passes=indvars"); + } else if (Opt == "strength_reduce") { + Args.push_back("-passes=strength-reduce"); + } else if (Triple(Opt).getArch()) { Args.push_back("-mtriple=" + Opt.str()); } else {