similar to: [LLVMdev] profiling with 64b counters

Displaying 20 results from an estimated 30000 matches similar to: "[LLVMdev] profiling with 64b counters"

2012 Nov 09
0
[LLVMdev] translating from OpenMP to CUDA
The PTX back-end is robust (it's based on the sources used by nvcc), but I'm not sure about the OpenMP representation in LLVM IR. I believe the OpenMP constructs are already lowered into libgomp calls before leaving DragonEgg. It's been awhile since I've loooked at it though. If you use the PTX back-end and have any issues, please don't hesitate to post to the list and cc:
2012 Oct 05
0
[LLVMdev] library functions
Hi , I doubt LLVM has the infrastructure in place to do so ,One way to accomplish this by implementing decompiler to convert library functions to LLVM IR and run the LLVM analyze pass over converted LLVM IR ,Then revert back from LLVM IR to your library format. Thanks ~Umesh On Thu, Oct 4, 2012 at 9:47 PM, apala guha <aguha at uchicago.edu> wrote: > Hi, > > Is there any
2012 Oct 04
2
[LLVMdev] library functions
Hi, Is there any way to analyze library functions using LLVM, in the same manner as source code functions? Thanks. -Apala
2012 Nov 08
3
[LLVMdev] translating from OpenMP to CUDA
Hi, Is it possible to translate an OpenMP program to CUDA using LLVM? I read that dragonegg has a OpenMP front-end and LLVM has a PTX back-end. I don't know how mature these tools are. Please let me know. Thanks. -Apala Postdoctoral Scholar Department of Computer Science, University of Chicago Computation Institute, Argonne National Laboratory http://sites.google.com/site/apalaguha/home/
2012 Sep 19
0
[LLVMdev] counting branch frequencies
Another issue is with ProfileInfo::getExecutionCount(Function* F). Looking at the source code and results, I am seeing that it always returns the execution count of the entry basic block of the function. If the entry basic block is part of a loop, its execution count does not match the function invocation count. Is my assumption wrong, that ProfileInfo::getExecutionCount(Function* F) is
2012 Sep 07
2
[LLVMdev] counting branch frequencies
Hi, Is there a way to count branch frequencies using LLVM infrastructure? Thanks. -Apala Postdoctoral Scholar Department of Computer Science, University of Chicago Computation Institute, Argonne National Laboratory http://sites.google.com/site/apalaguha/home/ -------------- next part -------------- An HTML attachment was scrubbed... URL:
2012 Sep 19
3
[LLVMdev] counting branch frequencies
Thanks everyone for the replies. After some experimentation, I found that the order in which the passes are specified matters: opt -O3 -profile-loader matmult.bc -o matmult.opt.bc (works) opt -profile-loader -O3 matmult.bc -o matmult.opt.bc (does not work) Also, I am able to avoid the inconsistency warning only for optimization levels -O3 and -O2. I get that warning when using -O1 and
2013 Apr 26
0
[LLVMdev] LLVM Profiler uses 32-bit counters for Basic Blocks?
Hi all, I'm doing some simple profiling with LLVM's profile.pl script in the llvm/utils/ directory. Some of the applications that I'm profiling are potentially very large, which in turn leads to some basic blocks being executed more than ~4 Billion (i.e. 2^32) times. Apparently the internal counters used within this profiler have only 32 bits as evidenced by the following simple
2012 Sep 19
1
[LLVMdev] counting branch frequencies
Can we not run the -insert-edge-profiling and -profile-loader passes at the beginning of the opt? Orthogonal point is, is it worth doing any optimizations when -insert-edge-profiling is specified on command line? -Prashantha -----Original Message----- From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Alastair Murray Sent: Wednesday, September 19, 2012
2012 Sep 19
0
[LLVMdev] counting branch frequencies
Hi Apala, Dibyendu is correct that this is likely due to pass order, but things get a bit complicated with -O[1-9] or -std-compile-opts as they insert early passes *before* the profiling code. I recommend that you use identical optimizations to insert instrumentation and to load the profiling data. E.g.: opt -insert-edge-profiling -O3 foo.bc -o foo.2.bc opt -profile-loader -O3 foo.bc
2012 Sep 11
2
[LLVMdev] counting branch frequencies
Thanks Alastair. Is it possible to associate the branch frequency counts with the basic blocks in the intermediate representation? (e.g. Can I access basic block frequencies in runOnFunction()?) Also, I was able to produce a 'llvmprof.out' file. What is the format of this file? How can I parse it? Thanks. -Apala > > > On 09/07/2012 01:25 PM, Alastair Murray wrote: >
2012 Dec 06
2
[LLVMdev] llvm-ar
Hi, I am trying to link archives built by llvm-ar with other bitcode files, using llvm-link. But llvm-link seems unable to read files produced by llvm-ar. Also, clang seems unable to read files produced by llvm-ar. Am I doing something wrong or is this the expected behavior? Is there any work-around? Thanks. -Apala
2012 Dec 06
0
[LLVMdev] llvm-ar
On Dec 5, 2012, at 8:15 PM, apala guha <aguha at uchicago.edu> wrote: > I am trying to link archives built by llvm-ar with other bitcode files, using llvm-link. But llvm-link seems unable to read files produced by llvm-ar. Also, clang seems unable to read files produced by llvm-ar. Am I doing something wrong or is this the expected behavior? Is there any work-around? You're not
2012 Sep 18
4
[LLVMdev] counting branch frequencies
I tried getting profile data from LLVM 3.1, using the method mentioned below. I tried it out on a simple matrix multiplication program. However, I noticed the following problems: 1. There is a warning message: "WARNING: profile information is inconsistent with the current program!" 2. The basic block counts (obtained from ProfileInfo::getExecutionCount(const BasicBlock*)) are
2013 Jan 14
2
[LLVMdev] Dynamic Profiling - Instrumentation basic query
Hi, @Alastair: Thanks a bunch for explaining this so well. I was able to write a simple profiler, and run it. I need to profile the code for branches (branch mis predicts simulation), load/store instructions (for cache hits/miss rate), and a couple of other things and therefore, would need to instrument the code. However, I would like to know if writing the output to a file would increase the
2010 Dec 08
1
[LLVMdev] Reviewer for our Path Profiling Implementation
Thank you for your suggestions on the patch. If the patch is committed, I would be willing to maintain it, though I am not sure what is all involved or how I am made aware of changes that need to be made. The technical report https://www.cs.ualberta.ca/system/files/tech_report/2010/PreussPathProfLLVM.pdf contains my benchmarks relating to profiling overhead in LLVM. Over the next week I will
2014 Mar 13
2
[LLVMdev] RFC: Binary format for instrumentation based profiling data
On Mar 13, 2014, at 2:14 PM, Diego Novillo <dnovillo at google.com> wrote: > On Thu, Mar 13, 2014 at 11:51 AM, Bob Wilson <bob.wilson at apple.com> wrote: >> >> On Mar 13, 2014, at 5:48 AM, Diego Novillo <dnovillo at google.com> wrote: >>> >>> How are counters represented? Are these line numbers together with the >>> counter? Basic
2010 Dec 08
0
[LLVMdev] Reviewer for our Path Profiling Implementation
On Dec 3, 2010, at 11:21 AM, Adam Preuss wrote: > I am a student at the University of Alberta under the > supervision of José Nelson Amaral, and I have been working on > implementing path profiling into LLVM. I have completed my project > and would like to submit it. > > We are looking for a reviewer for the path profiling implementation. We > have sent previous requests
2013 Jan 01
2
[LLVMdev] IR function pointers
Hi Tim, This is C++ indeed. Basically, I am profiling the code. So, these edges that cannot be resolved at compile time present a problem. Where can I find these devirtualization optimizations that you mentioned? Thanks. -Apala On 01/01/2013 12:18 PM, Tim Northover wrote: > > Hi, > > > For example: call void %1608(%"struct.LRT::RGBAucharFrameBuffer"* > > %1604)
2012 Oct 09
0
[LLVMdev] function calls
On 10/9/12 1:19 PM, apala guha wrote: > Hi, > > I am seeing some strange function calls in the LLVM IR, such as, 'call > llvm.lifetime.start'. What are these functions and why are they > appearing in the IR? These are LLVM intrinsics that provide information to the optimization passes. See the Language reference manual (http://llvm.org/docs/LangRef.html) for a