search for: gomp_parallel_end

Displaying 5 results from an estimated 5 matches for "gomp_parallel_end".

2012 Jul 12
4
[LLVMdev] Documentation about converting GIMPLE IR to LLVM IR in LLVM-GCC/DragonEgg
Dear All, I am trying to understand the process followed for converting GIMPLE IR to LLVM IR in LLVM-GCC/DragonEgg - more importantly conversion of OpenMP extended GIMPLE IR to LLVM IR. It would be great if anybody points me to some documentation before I my-self delve into the understanding of related source code. -- Cheers -mahesha -------------- next part -------------- An HTML attachment
2012 Jul 13
0
[LLVMdev] Fwd: Documentation about converting GIMPLE IR to LLVM IR in LLVM-GCC/DragonEgg
...tore i32* %1, i32** %2, align 8 >> %3 = bitcast %struct..omp_data_s.2* %.omp_data_o.3 to i8* >> call void @GOMP_parallel_start(void (i8*)* @foo._omp_fn.2, i8* %3, i32 >> 0) >> nounwind >> call void @foo._omp_fn.2(i8* %3) nounwind uwtable >> call void @GOMP_parallel_end() nounwind >> ret void >> } >> >> declare void @GOMP_parallel_start(void (i8*)*, i8*, i32) nounwind >> >> declare void @GOMP_parallel_end() nounwind >> >> define internal void @foo._omp_fn.0(i8* %.omp_data_i) nounwind uwtable { >> entry: >...
2007 Nov 29
2
[LLVMdev] LLVM and OpenMP
...lign 8 %.omp_data_o.31 = bitcast %struct..omp_data_s.1* %.omp_data_o.3 to i8* ; <i8*> [#uses=2] call void @GOMP_parallel_start( void (i8*)* @main.omp_fn.0, i8* %.omp_data_o.31, i32 0 ) nounwind call void @main.omp_fn.0( i8* %.omp_data_o.31 ) call void @GOMP_parallel_end( ) nounwind %tmp3 = load i32* %sum, align 4 ; <i32> [#uses=1] %tmp5 = call i32 (i8*, ...)* @printf( i8* getelementptr ([10 x i8]* @.str, i32 0, i32 0), i32 %tmp3 ) nounwind $ ret i32 undef } define internal void @main.omp_fn.0(i8* %.omp_data_i) { entry:...
2011 Sep 12
0
[LLVMdev] multi-threading in llvm
Hi Alexandra, I don't know much, maybe this topic should be bridged with polly-dev (adding it to CC) to bring it more attention. Indeed, polly uses ScopPass, that creates serious limitations in compatibility with other passes. To my understanding, scops are used because ISL loop analysis tool uses scops. In fact, just for handling OpenMP directives scops are not required, unless one need to
2011 Sep 08
4
[LLVMdev] multi-threading in llvm
Hi, I want to execute the iterations of a loop in parallel, by inserting calls either to pthreads or to the gomp library at the LLVM IR level. As a first step, I inserted an omp pragma in a C file and compiled it with llvm-gcc to check the generated LLVM code. If I understand correctly, to parallelize the loop in LLVM IR, I have to separate the loop in a new function, put all required parameters