@@ -19,9 +19,10 @@ static cl::SubCommand
1919 " Instruction Mix (requires asm-printer remarks)" );
2020
2121static cl::opt<std::string>
22- FunctionFilter (" filter" , cl::sub(InstructionMix), cl::init(" .*" ),
23- cl::value_desc (" filter_regex" ),
24- cl::desc(" regex to filter functions with" ));
22+ FunctionFilterRE (" rfilter" , cl::sub(InstructionMix), cl::init(" .*" ),
23+ cl::ValueOptional,
24+ cl::desc (" Optional function name to filter collection by "
25+ " (accepts regular expressions)" ));
2526
2627enum ReportStyleOptions { human_output, csv_output };
2728static cl::opt<ReportStyleOptions> ReportStyle (
@@ -48,7 +49,11 @@ static Error tryInstructionMix() {
4849 if (!MaybeParser)
4950 return MaybeParser.takeError ();
5051
51- Regex Filter (FunctionFilter);
52+ Regex Filter (FunctionFilterRE);
53+ std::string Error;
54+ if (!Filter.isValid (Error))
55+ return createStringError (make_error_code (std::errc::invalid_argument),
56+ Twine (" invalid argument '--rfilter=" ) + FunctionFilterRE + " ': " + Error);
5257
5358 // Collect the histogram of instruction counts.
5459 std::unordered_map<std::string, unsigned > Histogram;
0 commit comments