John Criswell
2013-Jan-22 18:12 UTC
[LLVMdev] Dynamic Profiling - Instrumentation basic query
On 1/22/13 12:07 PM, Sahoo, Swarup Kumar wrote:> Hi John and Silky, > > I can see a copy of 'giri' slicing project branch here http://llvm.org/viewvc/llvm-project/giri/. Though it may be little older, it will work I think. You can look at the code to see how we do the instrumentation.The giri project is supposed to contain both the static slicing code and the dynamic slicing code. It looks like all it contains at present is the static slicing code. At some point, the dynamic slicing code needs to be integrated into it. -- John T.> > Thanks, > Swarup. > > ________________________________________ > From: John Criswell [criswell at illinois.edu] > Sent: Tuesday, January 22, 2013 10:29 AM > To: Silky Arora; llvmdev at cs.uiuc.edu; Sahoo, Swarup Kumar > Subject: Re: [LLVMdev] Dynamic Profiling - Instrumentation basic query > > On 1/13/13 11:06 PM, Criswell, John T wrote: >> There is code that does this for older versions of LLVM. I believe it is in the giri project in the LLVM SVN repository. I can look into more details when I get back from vacation. Swarup may also be able to provide information on the giri code. > I took a quick look, and the dynamic slicing code doesn't appear to be > checked into the giri project yet like I had originally thought. > > We can, however, give you a copy of the code if you would like. However, > having looked at other emails in the thread, I'm not sure if it's what > you want. Our dynamic slicing code only instruments LLVM IR loads and > stores; it does not instrument memory accesses caused by stack spill > slots, function argument setup, etc. (these are only visible at the code > generation IR level). > > If instrumenting LLVM IR loads and stores suffices, and if you'd like a > copy of our code, please let me know. > > -- John T. > > >> -- John T. >> >> ________________________________________ >> From: llvmdev-bounces at cs.uiuc.edu [llvmdev-bounces at cs.uiuc.edu] on behalf of Silky Arora [silkyar at umich.edu] >> Sent: Saturday, January 12, 2013 10:28 PM >> To: llvmdev at cs.uiuc.edu >> Subject: [LLVMdev] Dynamic Profiling - Instrumentation basic query >> >> Hi, >> >> I am new to LLVM, and would like to write a dynamic profiler, say which prints out the load address of all the load instructions encountered in a program. >> From what I could pick up, edge-profiler.cpp increments a counter dynamically which is somehow dumped onto llvmprof.out by profile.pl >> >> Could anyone explain me how this works? Can I instrument the code to dump out the load addresses or other such information to a file? >> >> Thanks! >> >> >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
Sahoo, Swarup Kumar
2013-Jan-22 18:50 UTC
[LLVMdev] Dynamic Profiling - Instrumentation basic query
Oh, OK. I didn't check the code. I think it only contains your flow tracking analysis code, isn't it. Our 'Giri' project was completely separate from it. Should we merge it with this or keep it as a separate project? -Swarup. ________________________________________ From: John Criswell [criswell at illinois.edu] Sent: Tuesday, January 22, 2013 12:12 PM To: Sahoo, Swarup Kumar Cc: Silky Arora; llvmdev at cs.uiuc.edu Subject: Re: [LLVMdev] Dynamic Profiling - Instrumentation basic query On 1/22/13 12:07 PM, Sahoo, Swarup Kumar wrote:> Hi John and Silky, > > I can see a copy of 'giri' slicing project branch here http://llvm.org/viewvc/llvm-project/giri/. Though it may be little older, it will work I think. You can look at the code to see how we do the instrumentation.The giri project is supposed to contain both the static slicing code and the dynamic slicing code. It looks like all it contains at present is the static slicing code. At some point, the dynamic slicing code needs to be integrated into it. -- John T.> > Thanks, > Swarup. > > ________________________________________ > From: John Criswell [criswell at illinois.edu] > Sent: Tuesday, January 22, 2013 10:29 AM > To: Silky Arora; llvmdev at cs.uiuc.edu; Sahoo, Swarup Kumar > Subject: Re: [LLVMdev] Dynamic Profiling - Instrumentation basic query > > On 1/13/13 11:06 PM, Criswell, John T wrote: >> There is code that does this for older versions of LLVM. I believe it is in the giri project in the LLVM SVN repository. I can look into more details when I get back from vacation. Swarup may also be able to provide information on the giri code. > I took a quick look, and the dynamic slicing code doesn't appear to be > checked into the giri project yet like I had originally thought. > > We can, however, give you a copy of the code if you would like. However, > having looked at other emails in the thread, I'm not sure if it's what > you want. Our dynamic slicing code only instruments LLVM IR loads and > stores; it does not instrument memory accesses caused by stack spill > slots, function argument setup, etc. (these are only visible at the code > generation IR level). > > If instrumenting LLVM IR loads and stores suffices, and if you'd like a > copy of our code, please let me know. > > -- John T. > > >> -- John T. >> >> ________________________________________ >> From: llvmdev-bounces at cs.uiuc.edu [llvmdev-bounces at cs.uiuc.edu] on behalf of Silky Arora [silkyar at umich.edu] >> Sent: Saturday, January 12, 2013 10:28 PM >> To: llvmdev at cs.uiuc.edu >> Subject: [LLVMdev] Dynamic Profiling - Instrumentation basic query >> >> Hi, >> >> I am new to LLVM, and would like to write a dynamic profiler, say which prints out the load address of all the load instructions encountered in a program. >> From what I could pick up, edge-profiler.cpp increments a counter dynamically which is somehow dumped onto llvmprof.out by profile.pl >> >> Could anyone explain me how this works? Can I instrument the code to dump out the load addresses or other such information to a file? >> >> Thanks! >> >> >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
John Criswell
2013-Jan-22 18:58 UTC
[LLVMdev] Dynamic Profiling - Instrumentation basic query
On 1/22/13 12:50 PM, Sahoo, Swarup Kumar wrote:> Oh, OK. I didn't check the code. I think it only contains your flow tracking analysis code, isn't it. > > Our 'Giri' project was completely separate from it. Should we merge it with this or keep it as a separate project?My intention was to have a project called "giri" that contained both the static slicing code that I wrote plus the dynamic slicing code (currently named "giri") that we wrote. I put the static slicing code into the public project, but the dynamic slicing code is still on the TODO list. -- John T.> > -Swarup. > ________________________________________ > From: John Criswell [criswell at illinois.edu] > Sent: Tuesday, January 22, 2013 12:12 PM > To: Sahoo, Swarup Kumar > Cc: Silky Arora; llvmdev at cs.uiuc.edu > Subject: Re: [LLVMdev] Dynamic Profiling - Instrumentation basic query > > On 1/22/13 12:07 PM, Sahoo, Swarup Kumar wrote: >> Hi John and Silky, >> >> I can see a copy of 'giri' slicing project branch here http://llvm.org/viewvc/llvm-project/giri/. Though it may be little older, it will work I think. You can look at the code to see how we do the instrumentation. > The giri project is supposed to contain both the static slicing code and > the dynamic slicing code. It looks like all it contains at present is > the static slicing code. At some point, the dynamic slicing code needs > to be integrated into it. > > -- John T. > >> Thanks, >> Swarup. >> >> ________________________________________ >> From: John Criswell [criswell at illinois.edu] >> Sent: Tuesday, January 22, 2013 10:29 AM >> To: Silky Arora; llvmdev at cs.uiuc.edu; Sahoo, Swarup Kumar >> Subject: Re: [LLVMdev] Dynamic Profiling - Instrumentation basic query >> >> On 1/13/13 11:06 PM, Criswell, John T wrote: >>> There is code that does this for older versions of LLVM. I believe it is in the giri project in the LLVM SVN repository. I can look into more details when I get back from vacation. Swarup may also be able to provide information on the giri code. >> I took a quick look, and the dynamic slicing code doesn't appear to be >> checked into the giri project yet like I had originally thought. >> >> We can, however, give you a copy of the code if you would like. However, >> having looked at other emails in the thread, I'm not sure if it's what >> you want. Our dynamic slicing code only instruments LLVM IR loads and >> stores; it does not instrument memory accesses caused by stack spill >> slots, function argument setup, etc. (these are only visible at the code >> generation IR level). >> >> If instrumenting LLVM IR loads and stores suffices, and if you'd like a >> copy of our code, please let me know. >> >> -- John T. >> >> >>> -- John T. >>> >>> ________________________________________ >>> From: llvmdev-bounces at cs.uiuc.edu [llvmdev-bounces at cs.uiuc.edu] on behalf of Silky Arora [silkyar at umich.edu] >>> Sent: Saturday, January 12, 2013 10:28 PM >>> To: llvmdev at cs.uiuc.edu >>> Subject: [LLVMdev] Dynamic Profiling - Instrumentation basic query >>> >>> Hi, >>> >>> I am new to LLVM, and would like to write a dynamic profiler, say which prints out the load address of all the load instructions encountered in a program. >>> From what I could pick up, edge-profiler.cpp increments a counter dynamically which is somehow dumped onto llvmprof.out by profile.pl >>> >>> Could anyone explain me how this works? Can I instrument the code to dump out the load addresses or other such information to a file? >>> >>> Thanks! >>> >>> >>> >>> _______________________________________________ >>> LLVM Developers mailing list >>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >>> >>> _______________________________________________ >>> LLVM Developers mailing list >>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
Possibly Parallel Threads
- [LLVMdev] Dynamic Profiling - Instrumentation basic query
- [LLVMdev] Dynamic Profiling - Instrumentation basic query
- [LLVMdev] Dynamic Profiling - Instrumentation basic query
- [LLVMdev] Dynamic Profiling - Instrumentation basic query
- [LLVMdev] Dynamic Profiling - Instrumentation basic query