 ============================================================================
|              To use the OpenMP Validation Suite for testing                | 
| 			LLVM OpenMP Implementation                           |
|       	   High Performance Computing and Tools,                     | 
|			University of Houston          			     |
|                             Jan. 2015                                      |
 ============================================================================

Two new files have been added to openmp/runtime: check-openmp.pl and check-openmp-test.pl 
Go to /openmp/runtime, run:
make test compiler=clang
make test-clean  

------------------------------------------------------------------------------
For the OpenMP-LLVM Project, following are the Files and Directories to know about: 


  c                         	 Directory containing the templates for the c tests
  fortran                   	 Directory containing the templates for the Fortran
  Makefile                  	 Makefile containing options for compilation
  README_LLVM_OPENMP             README file for to use the OpenMP test-suite 
  README_OpenMP_Validation_Suite README file on the Validation Suite, templates, etc., 
				 as a basis for testing the LLVM OpenMP implementation. 
  LLVM_IR			 Directory containing target-specific IR files
  bin/lit files		         In the lit model, every test must exist inside some test suite. 
				 lit resolves the inputs specified on the command line to 
				 test suites by searching upwards from the input path 
				 until it finds a lit.cfg or lit.site.cfg file. 
				 These files serve as both a marker of test suites and 
				 as configuration files which lit loads in order to 
				 understand how to find and run the tests inside the test suite.	
  bin/header			 Header for the tests, calls clang driver for the test, 
				 and executes the resulting executable			
  bin/Makefile 			 To generate LLVM_IR files 
  bin/distribute.sh 		 Generates LLVM_IR files, finds the architecture and OS, moves 
				 the generated IR files to the corresponding folder 
  runtime/tools/check-openmp.pl  Retrieving the right path 
  runtime/tools/
  check-openmp-test.pl		 Returns the architecture and OS, e.g. lin_32e
------------------------------------------------------------------------------

Contact and Support
==============================================================================

Contact: http://www.cs.uh.edu/~hpctools/
Email: sunita@cs.uh.edu
