Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] source code information in LLVM IR"
2009 Dec 14
0
[LLVMdev] clang and static functions
Ah ok. Sorry. :)
I think that argument "-femit-all-decls" will help you.
Olivier.
On Mon, Dec 14, 2009 at 9:18 PM, Arvind Sudarsanam <
arvind.sudarsanam at aggiemail.usu.edu> wrote:
> Hi,
>
> Sorry for not being specific. I just wanted to know if there is any
> way at all to force clang to generate intermediate code for static
> functions when they are not being
2009 Dec 14
3
[LLVMdev] clang and static functions
Hi,
Sorry for not being specific. I just wanted to know if there is any
way at all to force clang to generate intermediate code for static
functions when they are not being called anywhere inside the current
module. Other compilers seem to generate intermediate code (lcc, for
instance).
Thanks for your reply..Olivier.
Sincerely
Arvind
On Mon, Dec 14, 2009 at 1:10 PM, Olivier Meurant
2009 Dec 14
0
[LLVMdev] clang and static functions
Hi Arvind,
you need to use it effectively :
static int add(int a, int b) {
return a+b;
}
int use() {
return add(4,5);
}
==>
; ModuleID = '<stdin>'
target datalayout =
"e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"
target triple = "i386-pc-linux-gnu"
define i32 @use()
2009 Dec 14
2
[LLVMdev] clang and static functions
Hi,
I am trying to compile a single module (dgemm.c) using clang and
generate dgemm.ll.
Command: clang -emit-llvm dgemm.c -S -o dgemm.ll
Some of the functions are declared as static and clang ignores these functions:
One of the functions is:
static void innerloop(double a, const double* b, double* c, double beta)
{
*b = a*beta;
return;
}
Is there any way to make clang generate llvm code
2010 Jul 02
0
[LLVMdev] Qualitative comparisons between Open64 and llvm
Hi, Arvind Sudarsanam:
I know some of Open64. Above all, Open64 is designed for a high
performance compiler. It is now supported by AMD, HP, ICT Chinese
Academy of Science, etc. and has been ported to X86, Itanium, Loongson
CPU etc.
And to your questions
1, Open64 already have some main optimization phases, Inline for
aggressive inline opt. LNO for loop opt, WOPT for machine independent
opt(
2010 Jul 15
2
[LLVMdev] Trying to access the user defined variable name
Hi Devang,
Thanks for your reply. You mentioned
" First parameter is the compiler generated temp. and 3rd parameter
provides info about the variable, including its name 'u'."
I did manage to get this far. But, I am finding it difficult to access
this info using LLVM APIs. The third parameter is of type "metadata".
So I was able to access it by casting it to MDNode.
2010 Jul 15
0
[LLVMdev] Trying to access the user defined variable name
On Thu, Jul 15, 2010 at 1:19 PM, Arvind Sudarsanam
<arvind.sudarsanam at aggiemail.usu.edu> wrote:
> Hi Devang,
>
> Thanks for your reply. You mentioned
> " First parameter is the compiler generated temp. and 3rd parameter
> provides info about the variable, including its name 'u'."
>
> I did manage to get this far. But, I am finding it difficult to
2009 Dec 04
2
[LLVMdev] regarding getelementptr
Hi,
I have been working towards generating my own IR code from llvm IR. I
have hit a stumbling block with respect to "getelementptr" used inside
another llvm instruction.
Example: %arrayidx = getelementptr inbounds i32* getelementptr
inbounds ([10 x i32]* @k, i32 0, i32 0), i32 %tmp2 ; <i32*> [#uses=1]
I am unable to get a handle on the second "getelementptr" in this
2010 Mar 25
4
[LLVMdev] source code information in LLVM IR
Hi,
I am generating llvm IR code for C source code using clang as the
front end. I am wondering if there is any way of mapping an llvm IR
line number back to its C source code line number.
Thanks
Sincerely
Arvind
--
Arvind Sudarsanam
Utah State University
Phone: (435) 512-7769
E-mail: theonemorpheus at gmail.com
Web-site: http://cc.usu.edu/~asudarsanam
2010 Jul 15
0
[LLVMdev] Trying to access the user defined variable name
On Wed, Jul 14, 2010 at 3:03 PM, Arvind Sudarsanam
<arvind.sudarsanam at aggiemail.usu.edu> wrote:
> Dear all,
>
> I have the following source code:
>
> long f(long x, long y)
> {
> long u;
>
> u = x+y;
> return u;
> };
>
> After clang (with debug option set) and llvm opt using mem2reg, I get
> the following .ll file
>
2010 Jul 01
2
[LLVMdev] Qualitative comparisons between Open64 and llvm
Hi,
I have been working towards developing compiler optimization tools
targeting multi core processors while using LLVM IR as the starting
point and building on top of the analysis and optimization passes
available in the llvm source.
Recently, I looked into Open64 and its intermediate representation
WHIRL. Documentation for developers to use Open64 seems to be inadequate
(when compared to LLVM
2010 Jun 18
1
[LLVMdev] argpromotion not working
Hi all,
I have the following C code.
static int addp(int *c, int a,int b)
{
int x = *c + a + b;
return(x);
}
I want to replace *c with a scalar. So I tried the -argpromotion pass.
However, it fails to do anything to the resulting llvm file.
List of commands:
clang add.c -c -o add.bc
clang add.c -S -o add.ll
opt -argpromotion -stats add.bc -o add_a.bc
llvm-dis < add_a.bc > add_a.ll
Also,
2009 Dec 04
2
[LLVMdev] regarding getelementptr
Hi,
I got the "getelementptr" issue solved...John Criswell helped
me...Thanks, Duncan, for your reply.
I have another query though. When I try to pass a structure into a
function in my C program, if there are less than four scalars in the
structure, the clang tool creates llvm code where the structure is
passed as sequence of scalars. If there are more than (or equal to)
four scalars,
2010 Jul 14
2
[LLVMdev] Trying to access the user defined variable name
Dear all,
I have the following source code:
long f(long x, long y)
{
long u;
u = x+y;
return u;
};
After clang (with debug option set) and llvm opt using mem2reg, I get
the following .ll file
***************************************************************************
; ModuleID = '<stdin>'
target datalayout =
2010 Mar 30
1
[LLVMdev] Operand, instruction
Can you tell how to use vector globally? I mean, i am able to add entries to
a vector in a basicblock, but whenever a basicblock function call is
returned, the vector becomes empty. So how to use data structures globally?
And one thing, where is main ( or same kind of) function in llvm?
Thanks for you reply.
Duncan Sands wrote:
>
> Hi,
>
>> Actually i have to implement strength
2009 Dec 04
0
[LLVMdev] regarding getelementptr
Hi Arvind,
> I have been working towards generating my own IR code from llvm IR. I
> have hit a stumbling block with respect to "getelementptr" used inside
> another llvm instruction.
>
> Example: %arrayidx = getelementptr inbounds i32* getelementptr
> inbounds ([10 x i32]* @k, i32 0, i32 0), i32 %tmp2 ; <i32*> [#uses=1]
>
> I am unable to get a handle on
2008 Jan 21
2
[LLVMdev] LLVM build freezes in scratchbox, ARM target
Hi,
I am new to LLVM and have been trying to get it working on
scratchbox (ARM target). When I try to build llvm-2.1, the build
freezes with the following output..
/scratchbox/compilers/arm-softfloat-linux-gcc-3.4.4-cs-2005q3-2-glibc-2.3.6/bin/sbox-arm-softfloat-linux-gnu-nm:
'libgcc/./_dvmd_lnx_s.o': No such file
mv -f libgcc/./_dvmd_lnx.visT libgcc/./_dvmd_lnx.vis
2008 Jan 28
0
[LLVMdev] llc fails to generate code for arm
HI Arvind,
I think you are using an old llc version. VarArg support was
implemented a long time ago.
Lauro
2008/1/28, Arvind Ayyangar <arvind.ayyangar at gmail.com>:
> Hi all,
> I had little success installing llvm inside scratchbox for an ARM
> build so have been trying to generate assembly code for arm using the
> llc utility. However, llc fails to generate code for
2008 Jan 28
2
[LLVMdev] llc fails to generate code for arm
Hi all,
I had little success installing llvm inside scratchbox for an ARM
build so have been trying to generate assembly code for arm using the
llc utility. However, llc fails to generate code for arm. Output is as
below...
arvind at zeus:~/tools/llvm/del$ llc main.bc -o mainarm -filetype=asm
-march=arm -f
llc: ARMISelDAGToDAG.cpp:73: llvm::SDOperand
LowerCALL(llvm::SDOperand,
2008 Feb 04
1
[LLVMdev] llc fails to generate code for arm
Hi
Sorry for the late reply..
I managed to build the latest release of llvm.
Now I get the following error when I try creating the bitcode file:
llvm-gcc: --emit-llvm is not supported in this configuration.
The configure options were :
/home/arvind/llvm/llvm-gcc4.2-2.1.source/configure
--prefix=/opt/llvm/ --enable-threads --disable-nls --disable-shared
--enable-languages=c