@@ -236,43 +236,25 @@ Error RemarkCounter::print(StringRef OutputFileName) {
236236
237237Expected<Filters> getRemarkFilter () {
238238 // Create Filter properties.
239- std::optional<FilterMatcher> RemarkNameFilter;
240- if (!RemarkNameOpt.empty ())
241- RemarkNameFilter = FilterMatcher::createExact (RemarkNameOpt);
242- else if (!RemarkNameOptRE.empty ()) {
243- auto FM = FilterMatcher::createRE (RemarkNameOptRE);
244- if (!FM)
245- return FM.takeError ();
246- RemarkNameFilter = std::move (*FM);
247- }
239+ auto MaybeRemarkNameFilter = FilterMatcher::createExactOrRE (RemarkNameOpt, RemarkNameOptRE);
240+ if (!MaybeRemarkNameFilter)
241+ return MaybeRemarkNameFilter.takeError ();
248242
249- std::optional<FilterMatcher> PassNameFilter;
250- if (!PassNameOpt.empty ())
251- PassNameFilter = FilterMatcher::createExact (PassNameOpt);
252- else if (!PassNameOptRE.empty ()) {
253- auto FM = FilterMatcher::createRE (PassNameOptRE);
254- if (!FM)
255- return FM.takeError ();
256- PassNameFilter = std::move (*FM);
257- }
243+ auto MaybePassNameFilter = FilterMatcher::createExactOrRE (PassNameOpt, PassNameOptRE);
244+ if (!MaybePassNameFilter)
245+ return MaybePassNameFilter.takeError ();
258246
259- std::optional<FilterMatcher> RemarkArgFilter;
260- if (!RemarkFilterArgByOpt.empty ())
261- RemarkArgFilter = FilterMatcher::createExact (RemarkFilterArgByOpt);
262- else if (!RemarkArgFilterOptRE.empty ()) {
263- auto FM = FilterMatcher::createRE (RemarkArgFilterOptRE);
264- if (!FM)
265- return FM.takeError ();
266- RemarkArgFilter = std::move (*FM);
267- }
247+ auto MaybeRemarkArgFilter = FilterMatcher::createExactOrRE (RemarkFilterArgByOpt, RemarkArgFilterOptRE);
248+ if (!MaybeRemarkArgFilter)
249+ return MaybeRemarkArgFilter.takeError ();
268250
269251 std::optional<Type> RemarkType;
270252 if (RemarkTypeOpt != Type::Failure)
271253 RemarkType = RemarkTypeOpt;
272254
273255 // Create RemarkFilter.
274- return Filters{std::move (RemarkNameFilter ), std::move (PassNameFilter ),
275- std::move (RemarkArgFilter ), RemarkType};
256+ return Filters{std::move (*MaybeRemarkNameFilter ), std::move (*MaybePassNameFilter ),
257+ std::move (*MaybeRemarkArgFilter ), RemarkType};
276258}
277259
278260Error useCollectRemark (StringRef Buffer, Counter &Counter, Filters &Filter) {
0 commit comments