[LLVMdev] LLVM versus Intel's PIN tool

Vasanth Venkatachalam vvenkata at mothra.ics.uci.edu
Sun Nov 6 14:46:02 PST 2005


I am trying to decide between using LLVM and Intel's PIN
tool as the dynamic optimization tool for my PhD thesis.
Specifically, the tool I choose has to have the following 

1. I should be able to run all the Spec 2000 and Spec 95 floating point
and integer benchmarks.

2. I should be able to instrument the beginning and end of specific 
program regions (e.g., functions, loops) with calls to subroutines that I 

3. I need to be able to patch the binary code of an executing program. 
Specifically, I want to be able to insert NOPs (into functions and 
loops) at compile time that I patch into calls to subroutines at runtime.

My questions are:

A. The testresults at http://llvm.cs.uiuc.edu/testresults/X86/ show that 
several benchmarks (swim, applu, tomcatv, su2cor...) in the Spec CFP 2000 
and 95 suites failed when run under the JIT. Why did they fail and what 
are the limitations in running Spec benchmarks?

B. Is what I am suggesting in 3 possible in LLVM?

C. Has anyone here used both LLVM and Intel's PIN? If so, can you 
comment on the drawbacks of using one over the other? I am especially 
interested in any comparisons of their performance and ease-of-use.



Vasanth Venkatachalam                        Office: CS/E 137
PhD Candidate                                Tel: None
School of Information and Computer Science   Email: vvenkata at uci.edu
University of California
Irvine, CA 92697-3425

More information about the llvm-dev mailing list