search for: original_function

Displaying 3 results from an estimated 3 matches for "original_function".

2012 Jan 16
1
[LLVMdev] OpenMP support for LLVM
...he intrinsics to the specific libgomp or mpc library calls. If already possible at compile time, fast LLVM-IR sequences can be inlined instead of calling actual library functions. pragma omp for schedule(runtime) for ( i=lb ; i COND b ; i+=incr ) { A ; } -> Represented as LLVM-IR def original_function() { llvm.openmp.loop(lower_bound, upper_bound, body, context, schedule) } def body(i, context) { A(i); } -> Lowering to MPC: (for schedule = runtime) if ( __mpcomp_runtime_loop_begin( ... ) ) { do { for ( ... ) { A ; } } while ( __mpcomp_runtime_lo...
2012 Jan 16
3
[LLVMdev] multi-threading in llvm
I am interested. I would be grateful for your hints. So OpenMP has various constructs such as parallel, barrier, single, for, etc. And there is at least two libraries to generate OpenMP code: libgomp and mpc. We want to be independent of specific library. We should create an interface with methods which present manual inserting of OpenMP pragmas in C or Fortran code. These sounds like "this
2012 Jan 16
0
[LLVMdev] OpenMP support for LLVM
...ructs will be very important for some platforms. We may need some new attributes in the IR so that we can still safely do things like LICM. -Hal > > pragma omp for schedule(runtime) > for ( i=lb ; i COND b ; i+=incr ) { A ; } > > -> Represented as LLVM-IR > > def original_function() { > llvm.openmp.loop(lower_bound, upper_bound, body, context, schedule) > } > > def body(i, context) { > A(i); > } > > -> Lowering to MPC: (for schedule = runtime) > > if ( __mpcomp_runtime_loop_begin( ... ) ) { > do { > for ( ....