<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Mar 18, 2008, at 9:52 PM, Rajika Kumarasiri wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">hello everybody,<br>I would like to improve the llvm-test suite[1] as a part of GSoC 2008 program for LLVM. <br>I have few concerns/problems regarding this, please give me your feedbacks and suggestions to come up with the proper proposal.<br> <br><b>Goal:</b> Improve the llvm-test testsuite.</blockquote><div><br class="webkit-block-placeholder"></div>There are two parts :</div><div>1) llvm-project/llvm/test in svn. This part checks correctness and features.</div><div>2) Whole program testsuite, which is located at llvm-project/test-suite. This part includes benchmarks and applications.</div><div><br><blockquote type="cite"><br><br><b>Idea:</b> Extend the llvm-test testsuite  to include new programs and benchmarks[2]. Test programs should be more CPU intensive  with few library dependencies  at the end which are delivered in source format.<br> <br>I have following few problems, please help me to understand them.<br><br>1. Before everything I need to clarify something.<br>Normally we add tests in a software  to check the correctness of that software code base. </blockquote><div><br class="webkit-block-placeholder"></div><div>This is done in 1)st part.</div><br><blockquote type="cite">Here in this project llvm trying to specific on third party software codes. So I am not sure how a test be structured within llvm to check llvm code base correctness using those third party codes(This is what I understood, please correct me if I am wrong). I'd glad if I can get more information on this.</blockquote><div><br class="webkit-block-placeholder"></div>When LLVM fails to build third party code, you want to derive small test cases to reproduce such failures. This small and independent tests are added in 1st part.</div><div><br><blockquote type="cite">2. As described llvm testsuite program should be more CPU intensive programs, is there is any reason for that</blockquote><div><br class="webkit-block-placeholder"></div><div>The goal here (in 2)nd part) is to measure the performance of the code generated by LLVM.</div><br><blockquote type="cite"> and how  a llvm test suite program can make more CPU intensive, any points that should consider to write a more CPU intensive test program for llvm?</blockquote><div><br class="webkit-block-placeholder"></div>IIUC, You do not want to write new test suite program here. You want to adopt existing programs and benchmarks and update them such that they fit in 2)nd part.  </div><div><br class="webkit-block-placeholder"></div><div>Let's take BioPerf as an example. You want to take this existing benchmark and appropriately update its makefiles so that it builds on 2)nd part of llvm test-suite. I am not familiar with this benchmark itself, but it uses many external libraries the you want to minimize library use if possible. Finally, the benchmark is likely to use some sort of input data to measure performance. You want to adjust input data set such that it does not take hours to run this benchmark and at the same time it takes enough time to notice performance changes. </div><div><br><blockquote type="cite">3. Since we need to avoid many library dependencies, we need to reduce dependencies to standard C/C++ libraries and llvm libraries itself.Is this correct ? If so any points that need to consider writing tests which has few library decencies? <br> <br>4. What a test program should cover?<br>As I read in the testsuite guide [3], test programs in llvm-test covers two things in general. It check for a particular LLVM feature or trigger a specific bug in LLVM. So in addition to that any other point that need to consider, along with the structure of a test case would be helpful<br> And also as described test programs are code fragments and whole programs. I think in here also I may need to write either of them depending of the benchmark trying[2].<br><br>5. Finally if I am going cover test programs for[3], may be setting few targets( targets in the sense that I am writing test programs for A variety of C++ benchmarks,BioPerf,LLC bench etc.., ) would be help to define the time line. May be more important one can be done in the first touch. </blockquote><div><br class="webkit-block-placeholder"></div><br><blockquote type="cite"><br> <br>Please guide me on these. Please correct me if I am wrong in anything. Thanks in advance!<br><br>Me:<br>I am a computer science undergraduate[4]. I'm interested in compiler technology and have experience in C/C++ programming.My resume [5].<br>  <br><br>[1] - <a href="http://llvm.org/OpenProjects.html#llvmtest">http://llvm.org/OpenProjects.html#llvmtest</a><br clear="all">[2] - <a href="http://nondot.org/sabre/LLVMNotes/#benchmarks">http://nondot.org/sabre/LLVMNotes/#benchmarks</a><br> [3] - <a href="http://llvm.org/docs/TestingGuide.html#org">http://llvm.org/docs/TestingGuide.html#org</a><br>[4] - <a href="http://www.cse.mrt.ac.lk/">http://www.cse.mrt.ac.lk/</a><br>[5] - <a href="http://rajikacc.googlepages.com/resume_rajika.pdf">http://rajikacc.googlepages.com/resume_rajika.pdf</a><br> <br> _______________________________________________<br>LLVM Developers mailing list<br>LLVMdev@cs.uiuc.edu         <a href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br></blockquote></div><br><div> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>-</div><div>Devang</div><div><br></div></div></span><br class="Apple-interchange-newline"> </div><br></body></html>