<div dir="ltr">What do you mean by entry point? It depends on what you're interested in modifying. Others can correct me if I'm wrong but:<br><br>If you just want to modify the runtime, files will be under /openMP (<a href="https://github.com/llvm/llvm-project/tree/main/openmp">https://github.com/llvm/llvm-project/tree/main/openmp</a>)<div><br></div><div>If you want to add new clauses you need to focus more on clang, code generation and such. Some files of interest are:<div> <a href="https://github.com/llvm/llvm-project/blob/main/clang/lib/Parse/ParseOpenMP.cpp">https://github.com/llvm/llvm-project/blob/main/clang/lib/Parse/ParseOpenMP.cpp</a></div><div> <a href="https://github.com/llvm/llvm-project/blob/main/clang/lib/Sema/SemaOpenMP.cpp">https://github.com/llvm/llvm-project/blob/main/clang/lib/Sema/SemaOpenMP.cpp</a><br><div> <a href="https://github.com/llvm/llvm-project/blob/main/clang/lib/AST/DeclOpenMP.cpp">https://github.com/llvm/llvm-project/blob/main/clang/lib/AST/DeclOpenMP.cpp</a></div><div> <a href="https://github.com/llvm/llvm-project/blob/main/clang/lib/AST/StmtOpenMP.cpp">https://github.com/llvm/llvm-project/blob/main/clang/lib/AST/StmtOpenMP.cpp</a></div><div> <a href="https://github.com/llvm/llvm-project/blob/main/clang/lib/CodeGen/CGOpenMPRuntime.cpp">https://github.com/llvm/llvm-project/blob/main/clang/lib/CodeGen/CGOpenMPRuntime.cpp</a> (and header)</div><div> <a href="https://github.com/llvm/llvm-project/blob/main/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp">https://github.com/llvm/llvm-project/blob/main/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp</a> (and the corresponding vendor specific files for offloading in the same folder (e.g. AMDGCN and NVPTX)</div><div> <a href="https://github.com/llvm/llvm-project/tree/main/llvm/lib/Frontend/OpenMP">https://github.com/llvm/llvm-project/tree/main/llvm/lib/Frontend/OpenMP</a> and <a href="https://github.com/llvm/llvm-project/tree/main/llvm/include/llvm/Frontend/OpenMP">https://github.com/llvm/llvm-project/tree/main/llvm/include/llvm/Frontend/OpenMP</a></div><div><br></div><div>If you are more interested in optimizations, this is where I know too little, but one file I remember is:</div><div><div> <a href="https://github.com/llvm/llvm-project/blob/main/llvm/lib/Transforms/IPO/OpenMPOpt.cpp">https://github.com/llvm/llvm-project/blob/main/llvm/lib/Transforms/IPO/OpenMPOpt.cpp</a> and its header in /llvm/include</div></div></div><div> </div></div><div>Other people can chime in with more ideas or files I may be missing. </div><div><br></div><div>My recommendation is use Godbolt a lot: Here are some examples:<br><a href="https://godbolt.org/z/sWsYaz7rK">https://godbolt.org/z/sWsYaz7rK</a><br><a href="https://godbolt.org/z/YW9o1bqdx">https://godbolt.org/z/YW9o1bqdx</a><br></div><div><br></div><div>There you can see what is being called at runtime, as well as the LLVMIR representation. </div><div><br></div><div>I hope this helps</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jun 24, 2021 at 9:23 AM Krzysztof Rymski via Openmp-dev <<a href="mailto:openmp-dev@lists.llvm.org">openmp-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">




<div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
<span style="margin:0px;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">Hi,</span></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
<div style="margin:0px;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
I want to do a project with OpenMP where I add speculation with transactional memory, but I have a hard time finding an entry point to the omp library. </div>
<div style="margin:0px;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
Therefore, I was hoping you could point me to it.</div>
<div style="margin:0px;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
<br>
</div>
<div style="margin:0px;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
Best wishes</div>
<span style="margin:0px;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">Krzysztof</span><br>
</div>
</div>

_______________________________________________<br>
Openmp-dev mailing list<br>
<a href="mailto:Openmp-dev@lists.llvm.org" target="_blank">Openmp-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev</a><br>
</blockquote></div>