This is an archive of the discontinued LLVM Phabricator instance.

Validation using OpenMP validation suite - adding support for cmake Part 2 of 2
Needs ReviewPublic

Authored by schandra on Mar 31 2015, 3:11 PM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

Added few lines to /llvm/openmp/runtime/Makefile

Diff Detail

Repository
rL LLVM

Event Timeline

schandra updated this revision to Diff 23013.Mar 31 2015, 3:11 PM
schandra retitled this revision from to Validation using OpenMP validation suite - adding support for cmake Part 2 of 2.
schandra updated this object.
schandra edited the test plan for this revision. (Show Details)
schandra set the repository for this revision to rL LLVM.
schandra added subscribers: Unknown Object (MLST), Unknown Object (MLST).

There seems to be a number of issues here. I'm trying these patches (D7637, D7638, D8752, and D8751) and here is what I have come up with:

  1. This entire system doesn't seem to work if libiomp5 is a standalone product outside of an llvm project directory.
  2. Including the testsuite/Makefile in the top level Makefile seems wrong. It seems as though recursive Make should be called here. For instance if I try to run "make clean", it now gives me an error (bin/ directory doesn't exist in the runtime/ directory) which is unacceptable.
  3. I had to call Make inside the testsuite/ directory to have an LLVM-IR/ directory created inside the testsuite/ directory which isn't user friendly.

Can someone explain the overall process of how this system is supposed to be called by the user and then document it in the testsuite/README?. The Phabricator review shows most of it being deleted.

Hi Jonathan
Thanks for your comments, in the past week or so we have been cleaning up
the bundle more based on some more comments, so we will have new patches
for y'all to review.
However reply inline:

There seems to be a number of issues here. I'm trying these patches (

http://reviews.llvm.org/D7637, http://reviews.llvm.org/D7638,
http://reviews.llvm.org/D8752, and http://reviews.llvm.org/D8751) and
here is what I have come up with:

  1. This entire system doesn't seem to work if libiomp5 is a standalone

product outside of an llvm project directory.

This shouldn't have been the case since the testsuite does not require
libiomp5 to be a standalone product. We have set environment variables in
runtime/Makefile using

export

LIBRARY_PATH=$(libiomp5_path):$(LIBRARY_PATH) ; \

export

LD_LIBRARY_PATH=$(libiomp5_path):$(LD_LIBRARY_PATH) ; \

export

DYLD_LIBRARY_PATH=$(libiomp5_path):$(DYLD_LIBRARY_PATH) ; \

  1. Including the testsuite/Makefile in the top level Makefile seems

wrong. It seems as though recursive Make should be called here. For
instance if I try to run "make clean", it now gives me an error (bin/
directory doesn't exist in the runtime/ directory) which is unacceptable.

We (Alexey Bataev, Hal Finkel, Andrey Bokhanko ) tried several options to
find out what's the best way to do this and we figured:

One would simply need to run a "make test" in runtime/
This recursively calls "make ctest, llvm-lit .... " within /testsuite/

So you wouldn't need to do "make" inside /testsuite/
The user does not need to do anything within the /testsuite/ folder.
The "make test" within the /runtime takes care of the entire process.

For some reason, we did not get the error while doing a "make clean" at our
end. However we have made a few modifications and removed more unwanted
files, so the "make clean" should work OK now. I send to send newer patches
to phabricator.

  1. I had to call Make inside the testsuite/ directory to have an LLVM-IR/

directory created inside the testsuite/ directory which isn't user friendly.

Right, this is exactly what you don't have to do as I said in #2. Nothing
needs to be done within /testsuite.
We will need to keep LLVM-IR directory since it has files that we need.

Can someone explain the overall process of how this system is supposed to
be called by the user and then document it in the testsuite/README?. The
Phabricator review shows most of it being deleted.

There is a README-LLVM-OpenMP that I have created for all the
changes/additions/edits we have made so far for the testsuite to work.
I did not add this to phabricator, I didn't know if I should. I am using
Phabricator for the first time, my apologies.
I am attaching the README with this mail and this will also be part of the
testsuite repository once it is committed.

Hope these help and thanks once again for your feedback.
Sunita