Hi all, I am a new user to LLVM and trying to figure out if this is what I really want to complete my thesis work. I want to add a pointer analysis phase to compiler optimization. This analysis will take profile information into account. My analysis requires to analyse a single statement at a time and then I also want to perform some code duplication to finally perform the optimization. Finally I would like to compare the results with and without my pass on benchmark standards. I was just wondering if I can do all this with LLVM. I have very short period for my thesis and I have to implement and get the results. So I will be highly obliged if anyone of you can help me out. Thanks in advance. regards, Ambika
On Tuesday 05 January 2010 12:07, ambika wrote:> I am a new user to LLVM and trying to figure out if this is what I > really want to complete my thesis work.Yes. :)> I want to add a pointer analysis phase to compiler optimization. This > analysis will take profile information into account.Ok. LLVM has profiling. What kind of profile information do you need?> My analysis requires to analyse a single statement at a time and then I > also want to perform some code duplication to finally perform the > optimization.Define "statement." Do you mean source-level statement? the LLVM IR works in terms of instructions. Groups of instructions can be specified in a DAG of sorts or they can be fissioned into individual instructions that each write to a temporary virtual register. There is no high-level notion of a statement or control structure. If you need that you'll have to build it. No other open source C/C++ compiler infrastructure provides that either, AFAIK.> Finally I would like to compare the results with and without my pass on > benchmark standards.This is trivial with LLVM.> I was just wondering if I can do all this with LLVM. I have very short > period for my thesis and I have to implement and get the results. So I > will be highly obliged if anyone of you can help me out.What's "very short?" Doing anything substantial with aliasing/pointer analysis is not "very short" by definition. -Dave