llvm-use-vector-utils¶
Finds calls to llvm::to_vector with llvm::map_range or
llvm::make_filter_range that can be replaced with the more concise
llvm::map_to_vector and llvm::filter_to_vector utilities from
llvm/ADT/SmallVectorExtras.h.
The check will add the necessary #include "llvm/ADT/SmallVectorExtras.h"
directive when applying fixes.
Example¶
auto v1 = llvm::to_vector(llvm::map_range(container, func));
auto v2 = llvm::to_vector(llvm::make_filter_range(container, pred));
auto v3 = llvm::to_vector<4>(llvm::map_range(container, func));
auto v4 = llvm::to_vector<4>(llvm::make_filter_range(container, pred));
Transforms to:
auto v1 = llvm::map_to_vector(container, func);
auto v2 = llvm::filter_to_vector(container, pred);
auto v3 = llvm::map_to_vector<4>(container, func);
auto v4 = llvm::filter_to_vector<4>(container, pred);