Displaying 20 results from an estimated 100000 matches similar to: "[LLVMdev] passing arguments to a pass"
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 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 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 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 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 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
2012 Nov 23
1
[LLVMdev] Disable loop unroll pass
Hi, Ivan:
Sorry for deviating the topic a bit. As I told you before I'm a LLVM
newbie, I cannot
give you conclusive answer if the proposed interface is ok or not.
My personal opinion on these two interface is summarized bellow:
- hasZeroCostLoop()
pro: it is clearly state the HW support.
con: Having zero cost loop doesn't imply the benefit HW loop could
achieve.
2012 Nov 22
0
[LLVMdev] Disable loop unroll pass
Hi, Ivan:
My $0.02. hasZeroCostLooping() disabling unrolling dose not seem to be
appropriate for other architectures, at least the one I worked before.
You mentioned:
>Currently, we cannot detect them because the loop unroller is
>unrolling them before entering into the codegen. Looking at its
implementation,
>it.
Could you please articulate why CG fail to recognize it?
2012 Nov 22
0
[LLVMdev] Disable loop unroll pass
I am the designer for open64 hwloop structure, but I am not a student.
Hope the following helps:
To transform a loop into hwloop, we need the help from optimizer. For example,
while(k3>=10){
sum+=k1;
k3 --;
}
into the form:
zdl_loop(k3-9) {
sum+=k1;
}
So, we introduce a new ZDLBR whirl(open64 optimizer intermediate) operator, which represents the loop in whirl as:
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 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 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:
>
2014 Jul 17
4
[LLVMdev] Removing metadata in a pass
Is it OK to remove metadata in an optimization pass? The context is patch
http://reviews.llvm.org/D4571 which removes loop unrolling hint metadata
after using it to avoid unrolling more than the hint suggests. This is a
potential problem because loop unrolling can be run more than once.
Example: a loop annotated with "#pragma clang loop unroll_count(2)" which
adds hint metadata to the
2012 Nov 22
3
[LLVMdev] Disable loop unroll pass
Hi Shuxin, Eli,
On 22/11/2012 03:19, Shuxin Yang wrote:
> Hi, Ivan:
>
> My $0.02. hasZeroCostLooping() disabling unrolling dose not seem
> to be
> appropriate for other architectures, at least the one I worked before.
I appreciate your feed-back. Could you give an example where building a
hw loop is not appropriate for your target?
>
> You mentioned:
>
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
2011 Nov 10
1
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Tue, 2011-11-08 at 20:24 +0100, Tobias Grosser wrote:
> On 11/08/2011 03:36 PM, Hal Finkel wrote:
> > On Tue, 2011-11-08 at 12:12 +0100, Tobias Grosser wrote:
> >> On 11/08/2011 11:45 AM, Hal Finkel wrote:
> >>> I've attached the latest version of my autovectorization patch.
> >>>
> >>> Working through the test suite has proved to be a
2020 Jan 02
3
[RFC] Changing LoopUnrollAndJamPass to a function pass.
<div class="socmaildefaultfont" dir="ltr" style="font-family:Arial, Helvetica, sans-serif;font-size:10pt" ><div dir="ltr" ><font face="AppleSystemUIFont" size="3" >LoopUnrollAndJamPass is currently a loop pass. It is added in a LPM with only itself.</font><br><font face="AppleSystemUIFont"