[LLVMdev] Proposal for GSoC project for improving llvm-test testsuite

John Criswell criswell at cs.uiuc.edu
Wed Mar 19 07:54:57 PDT 2008

Rajika Kumarasiri wrote:
> hello everybody,
> I would like to improve the llvm-test suite[1] as a part of GSoC 2008 program for LLVM.
> I have few concerns/problems regarding this, please give me your feedbacks and suggestions to come up with the proper proposal.
So, here's the type of programs that I would like to see added to 
llvm-test.  These are biased by past and current research agendas, so 
I'd be interested in knowing whether others would find such additions 

1) Pointer intensive applications (especially those written in C).  We 
have a number of transforms that either improve memory performance 
(Automatic Pool Allocation) or whose overhead can be greater for pointer 
intensive programs (SAFECode).  Having such programs would be useful for 
our research; they could also be used by others who are working on 
pointer-analysis based optimizations for LLVM.

2) Programs that are memory intensive (for the same reasons that I want 
pointer intensive programs).

3) Programs that are known to have found bugs in LLVM.  There are many 
programs that LLVM compiles correctly.  However, if you find one that 
exposes one or more bugs in LLVM, it might make a good candidate.  
kimwitu++ is in the test suite because it triggered 4 bugs and motivated 
1 JIT optimization.

-- John T.

> Goal: Improve the llvm-test testsuite.
> Idea: 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.
> I have following few problems, please help me to understand them.
> 1. Before everything I need to clarify something.
> Normally we add tests in a software  to check the correctness of that software code base. 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.
> 2. As described llvm testsuite program should be more CPU intensive programs, is there is any reason for that 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?
> 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?
> 4. What a test program should cover?
> 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
> 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].
> 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.
> Please guide me on these. Please correct me if I am wrong in anything. Thanks in advance!
> Me:
> I am a computer science undergraduate[4]. I'm interested in compiler technology and have experience in C/C++ programming.My resume [5].
> [1] - http://llvm.org/OpenProjects.html#llvmtest
> [2] - http://nondot.org/sabre/LLVMNotes/#benchmarks
> [3] - http://llvm.org/docs/TestingGuide.html#org
> [4] - http://www.cse.mrt.ac.lk/
> [5] - http://rajikacc.googlepages.com/resume_rajika.pdf

More information about the llvm-dev mailing list