<div dir="ltr">
<div dir="ltr">Dear Developers,<br><br>I am researching Clang and
LLVM OpenMP Runtime Library, and I try to research into the topic: How
does OpenMP outline functions in Clang
, and I could try to implement the
new OpenMP directive and outlined functions to achive the functional
requirement that I purpoed. <br><br>For instance aboult OpenMP outlining,<br> void foo()<br> {<br> #pragma omp parallel<br> {<br> ... do something ...<br> }<br> }<br>is converted into<br> static void outlinedFooBody()<br> {<br> ... do something ...<br> }<br> void foo()<br> {<br> __OMP_runtime_fork(outlinedFooBody, (void*)0);<br> }</div><div dir="ltr"><br></div><div dir="ltr">I have some questions about the topic,<br>
1. How could I know what OpenMP actually done when OpenMP outlines the
functions? It seems there are no tools to observe that except for
observing LLVM-IR or assembly code.<br> 2. Which is the OpenMP outlining actions actually done, in Clang
or LLVM OpenMP runtime library?<br> 3. Is there any useful tools to dump the outlining information for dubugging or observing?<br><br>Sorry
about there are so many questions above. I stuck in here for several
months, and still don't know how OpenMP oulining fuctions, how the
source code of Clang and OpenMP runtime library actually does about outlining.</div><div dir="ltr"><br>Thank you for your time to read the mail.</div><div dir="ltr"><br></div><div dir="ltr">Looking forward to your feedback.<br><br>Respectfully yours,<br><br>Yu-Wen, the student from Chung-Cheng University of Taiwan</div>
</div>