[PATCH] D53895: [LoopUnroll] add parsing for unroll parameters in -passes pipeline
Fedor Sergeev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 24 05:14:46 PST 2018
fedor.sergeev marked 5 inline comments as done.
fedor.sergeev added inline comments.
================
Comment at: lib/Passes/PassBuilder.cpp:1253-1257
+/// This performs customized parsing of pass name with parameters.
+///
+/// We do not need parametrization of passes in textual pipeline very often,
+/// yet on a rare occasion ability to specify parameters right there can be
+/// useful.
----------------
chandlerc wrote:
> Please explain how the parser type parameter works and what is expected of it.
>
> But better yet, how about we just make this routine accept a callable rather than a class, and have this functions return type be the same as that callable?
>
> Something like:
> ```
> template <typename ParseCallableT>
> auto parsePassWithParameters(ParseCallableT Parser, ...) -> decltype(std::decl_ref<ParseCallableT>()("")) {
> ...
> }
> ```
>
> I suppose you could use result_of or some other trait instead, not sure it'd be any simpler.
>
> The key idea is to make this just a wrapper of another callable which strips off the pass name and the angle brackets.
>
> To handle the empty case, just call the callable with an empty string, and have it return the default value.
To avoid complications with ParametersT type deduction decided to pass parameters type explicitly into the macro/parsing helper template.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D53895/new/
https://reviews.llvm.org/D53895
More information about the llvm-commits
mailing list