Currently auto-vectorization lacks the ability to analyze
memory dependencies caused by function calls, only dependencies
caused by explicit load and store instructions are considered.
In order to still be able to vectorize loops with calls
to basic mathematical functions, any function listed in
include/llvm/Analysis/VecFuncs.def was implicitly assumed
to be safe.
This prevents addition of sincos() and other functions returning
multiple values via pointer operands to VecFuncs.def.
As a first step we only vectorize functions with pointer
arguments if the user forcibly skips dependency checks
via #pragma clang loop vectorize(assume_safety).
clang-format not found in user’s local PATH; not linting file.