Displaying 7 results from an estimated 7 matches for "__kmpc_fork_call".
2016 Jul 31
0
[Openmp-dev] How to get the function definition of a kmpc_micro call
...I was looking
for.
However, I solved my issue by finding that the BitCastInst used when
outlining OpenMP parallel region offers a method for retrieving the
original value within the bitcast via stripPointerCasts().
So what I did to retrieve omp_outlined..45 is:
//bitcast is the third argument of __kmpc_fork_call
Value *vcall = callInst->getArgOperand(2);
//This will return the outlined function in __kmpc_fork_call
Function *f = dyn_cast<Function>(vcall->stripPointerCasts());
f->getName returns ".omp_outlined..45" So this worked.
Thanks again,
Dounia
On Sat, Jul 30, 2016 at 6:47...
2016 Jul 30
0
How to get the function definition of a kmpc_micro call
Hello,
The third argument of the OpenMP runtime call __kmpc_fork_call is the
outlined function resulting from omp parallel directive; this is of type
kmpc_micro. I can get this argument as an LLVM value by using
(callInst->getArgOperand...), but once I get this value, i am stuck in
knowing its class type. An example of this value can be:
void (i32*, i32*, ...)* bi...
2015 Oct 11
2
How to add NOP?
Can you send the IR you are using?
Volkan
On Thu, Oct 8, 2015 at 6:28 AM Erdem Derebaşoğlu <
erdemderebasoglu at hotmail.com> wrote:
> Thanks. I enabled my pass. I have one resolved issue though:
> MachineMemOperand::getAddrSpace() always returns zero. How can I use it to
> distinguish private memory accesses?
>
> Erdem
>
> ------------------------------
> From:
2020 Feb 14
4
About OpenMP dialect in MLIR
Thanks for the reply!
It sounds like LLVM IR is being considered for optimizations in OpenMP
constructs. There seems to be plans regarding improvement of LLVM IR
Framework for providing things required for OpenMP / flang(?)
Are there any design considerations which contain pros and cons about using
the MLIR vs LLVM IR for various OpenMP related optimizations/
transformations?
The latest RFC [
2020 Aug 10
2
[EXTERNAL] Re: Orc JIT v2 breaks OpenMP in 11.x branch?
...lobal %struct.ident_t.21 { i32 0, i32
2, i32 0, i32 0, i8* getelementptr inbounds ([23 x i8], [23 x i8]*
@.str, i32 0, i32 0) }, align 8
Call parameter type does not match function signature!
%struct.ident_t.21* @2
%struct.ident_t* call void (%struct.ident_t*, i32, void (i32*, i32*,
...)*, ...) @__kmpc_fork_call(%struct.ident_t.21* @2, i32 4, void
(i32*, i32*, ...)* bitcast (void (i32*, i32*, i64*,
%"class.std::vector.22"*, %"class.std::vector.22"*, float*)*
@.omp_outlined. to void (i32*, i32*, ...)*), i64* %_n,
%"class.std::vector.22"* %5, %"class.std::vector.22"* %...
2020 Aug 10
2
[EXTERNAL] Re: Orc JIT v2 breaks OpenMP in 11.x branch?
...32
> 2, i32 0, i32 0, i8* getelementptr inbounds ([23 x i8], [23 x i8]*
> @.str, i32 0, i32 0) }, align 8
>
> Call parameter type does not match function signature!
> %struct.ident_t.21* @2
> %struct.ident_t* call void (%struct.ident_t*, i32, void (i32*, i32*,
> ...)*, ...) @__kmpc_fork_call(%struct.ident_t.21* @2, i32 4, void
> (i32*, i32*, ...)* bitcast (void (i32*, i32*, i64*,
> %"class.std::vector.22"*, %"class.std::vector.22"*, float*)*
> @.omp_outlined. to void (i32*, i32*, ...)*), i64* %_n,
> %"class.std::vector.22"* %5, %"class.std...
2020 Aug 10
2
[EXTERNAL] Re: Orc JIT v2 breaks OpenMP in 11.x branch?
Thanks, Joseph and Johannes.
I have not merged in anything, I am using the code from the repository
as is. What is this -debug-only option, and to whom would I pass it? I
am running our own JIT application, which uses clang to compile
modules on the fly via clang::CompilerInstance::ExecuteAction().
Working on the assumption that there is a mismatch in the declared
type of an OpenMP runtime