Displaying 3 results from an estimated 3 matches for "vectorfninfo".
2016 Nov 30
5
[RFC] Enable "#pragma omp declare simd" in the LoopVectorizer
Dear all,
I have just created a couple of differential reviews to enable the
vectorisation of loops that have function calls to routines marked with
“#pragma omp declare simd”.
They can be (re)viewed here:
* https://reviews.llvm.org/D27249
* https://reviews.llvm.org/D27250
The current implementation allows the loop vectorizer to generate vector
code for source file as:
#pragma omp declare
2016 Dec 08
6
[RFC] Enable "#pragma omp declare simd" in the LoopVectorizer
...step of 2.
### Step 2
The compiler FE invokes a TLII method in BackendUtils.cpp that populate a multimap in the TLII by checking the globals created in the previous step.
Each global is processed, demangling the [pre/mid/post]fix name and generate a mapping in the TLII as follows:
struct VectorFnInfo {
std::string Name;
FunctionType *Signature;
};
std::multimap<std:string, VectorFnInfo> VFInfo;
For the initial example, the multimap in the TLI is populated as follows:
"pow" -> [(vector_pow1, <4 x double>(<4 x double>, <4 x double>...
2016 Dec 12
0
[RFC] Enable "#pragma omp declare simd" in the LoopVectorizer
...gt;The compiler FE invokes a TLII method in BackendUtils.cpp that populate a
>multimap in the TLII by checking the globals created in the previous step.
>
>Each global is processed, demangling the [pre/mid/post]fix name and
>generate a mapping in the TLII as follows:
>
> struct VectorFnInfo {
> std::string Name;
> FunctionType *Signature;
> };
> std::multimap<std:string, VectorFnInfo> VFInfo;
>
>
>For the initial example, the multimap in the TLI is populated as follows:
>
> "pow" -> [(vector_pow1, <4 x double>(&l...