search for: parreg

Displaying 4 results from an estimated 4 matches for "parreg".

2012 Oct 02
7
[LLVMdev] [RFC] Parallelization metadata and intrinsics in LLVM (for OpenMP, etc.)
...metadata below. > > Note that parallel regions can be nested. > > As a quick example, something like: > int main() { > int a; > #pragma omp parallel firstprivate(a) > do_something(a) > ... > } > > becomes something like: > > define private void @parreg(i32 %a) { > entry: > call void @do_something(i32 %a) > ret > } > > define i32 @main() { > entry: > ... > call void @parreg1(i32 %a) !parallel !0 > ... > > !0 = metadata !{ metadata !"region", @parreg } > --Vikram Professor, Computer Science...
2012 Oct 02
0
[LLVMdev] [RFC] Parallelization metadata and intrinsics in LLVM (for OpenMP, etc.)
...e nested. > > > > As a quick example, something like: > > int main() { > > int a; > > #pragma omp parallel firstprivate(a) > > do_something(a) > > ... > > } > > > > becomes something like: > > > > define private void @parreg(i32 %a) { > > entry: > > call void @do_something(i32 %a) > > ret > > } > > > > define i32 @main() { > > entry: > > ... > > call void @parreg1(i32 %a) !parallel !0 > > ... > > > > !0 = metadata !{ metadata !"region&qu...
2012 Oct 02
1
[LLVMdev] [RFC] Parallelization metadata and intrinsics in LLVM (for OpenMP, etc.)
...le, something like: > > > int main() { > > > int a; > > > #pragma omp parallel firstprivate(a) > > > do_something(a) > > > ... > > > } > > > > > > becomes something like: > > > > > > define private void @parreg(i32 %a) { > > > entry: > > > call void @do_something(i32 %a) > > > ret > > > } > > > > > > define i32 @main() { > > > entry: > > > ... > > > call void @parreg1(i32 %a) !parallel !0 > > > ... > > >...
2012 Aug 10
2
[LLVMdev] [RFC] Parallelization metadata and intrinsics in LLVM (for OpenMP, etc.)
...arallelizationCleanup. The same is true for all other cross-referenced metadata below. Note that parallel regions can be nested. As a quick example, something like: int main() { int a; #pragma omp parallel firstprivate(a) do_something(a) ... } becomes something like: define private void @parreg(i32 %a) { entry: call void @do_something(i32 %a) ret } define i32 @main() { entry: ... call void @parreg1(i32 %a) !parallel !0 ... !0 = metadata !{ metadata !"region", @parreg } -- Reductions -- To handle reductions, first, the variable is converted into a output pass-by-pointer p...