Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Null address pointer in llvm.dbg.declare"
2016 May 29
1
How to find variable names from LLVM IR?
If I have an operand as a Value from an instruction like: Value* V =
opnd->get(); and I am sure this is a variable, I want to know the variable
name (in source code) for this Value object. I am doing it like this:
const Function* Func;
if (const Argument* Arg = dyn_cast<Argument>(V))
{
Func =
2012 Sep 21
0
[LLVMdev] Alias Analysis accuracy
OK, with the restrict type qualifier, it is a little bit better:
The IR's function signature becomes:
define void @foo(i32* noalias %a, i32* noalias %b, i32* noalias %c)
nounwind {
Now the AA result:
Function: foo: 13 pointers, 0 call sites
NoAlias: i32* %a, i32* %b
NoAlias: i32* %a, i32* %c
NoAlias: i32* %b, i32* %c
NoAlias: i32* %a, i32** %a_addr
NoAlias:
2012 Sep 21
3
[LLVMdev] Alias Analysis accuracy
Dear LLVM,
I would like to understand how to improve the LLVM alias analysis accuracy.
I am currently using llvmgcc 2.9 and llvm 3.0. Here is the C code:
void foo(int a[SIZE], int b[SIZE], int c[SIZE])
{
for(int i=0; i<SIZE; i++)
c[i] = a[i] + b[i];
}
Here is the IR:
target datalayout =
2012 Sep 21
0
[LLVMdev] Alias Analysis accuracy
Here is the result of running mem2reg then basicaa, it is even worse: (%a
should be alias to %0, and partial alias to %3)
opt -mem2reg -basicaa -aa-eval -print-all-alias-modref-info < foo.s >
/dev/null
Function: foo: 6 pointers, 0 call sites
NoAlias: i32* %a, i32* %b
NoAlias: i32* %a, i32* %c
NoAlias: i32* %b, i32* %c
PartialAlias: i32* %1, i32* %a
NoAlias:
2012 Sep 21
3
[LLVMdev] Alias Analysis accuracy
On Fri, Sep 21, 2012 at 3:08 PM, Welson Sun <welson.sun at gmail.com> wrote:
> OK, with the restrict type qualifier, it is a little bit better:
>
> The IR's function signature becomes:
> define void @foo(i32* noalias %a, i32* noalias %b, i32* noalias %c) nounwind
> {
>
> Now the AA result:
> Function: foo: 13 pointers, 0 call sites
> NoAlias: i32* %a,
2011 Nov 03
5
[LLVMdev] LLVM problem, please do not ignore
Dear sir or madam,
I am a 4-th year student at Yerevan State University, Armenia; and I am
studying LLVM in order to write my Bachelor thesis.
I am trying to write an llvm pass that just removes all "Add" commands and
gives some statstics.
Nevertheless, I get this segmentation fault:
................some rows about functions, that are not changed by my pass.
The errors occurs after it
2011 Nov 03
0
[LLVMdev] LLVM problem, please do not ignore
On 11/3/2011 4:55 AM, Arshak Nazaryan wrote:
> Dear sir or madam,
>
> I am a 4-th year student at Yerevan State University, Armenia; and I
> am studying LLVM in order to write my Bachelor thesis.
Hi Arshak.
> I am trying to write an llvm pass that just removes all "Add" commands
> and gives some statstics.
> Nevertheless, I get this segmentation fault:
The
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 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 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.
2012 Sep 21
3
[LLVMdev] Alias Analysis accuracy
Can you give an example? And is this limited to C (not C++) only?
On Fri, Sep 21, 2012 at 2:52 PM, Liu, Yaxun (Sam) <Yaxun.Liu at amd.com> wrote:
> I think you may add restrict type qualifier.****
>
> ** **
>
> Sam****
>
> ** **
>
> *From:* llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] *On
> Behalf Of *Welson Sun
> *Sent:* Friday,
2008 Jun 28
0
[LLVMdev] need to store the address of a variable
Paul Arndt wrote:
> Hello everybody,
>
> my problem is, that I want to get an array of pointers to all local variables
> in a function. This array will be used for transfering these Variables to
> another execution engine.
>
> I've code which generates this array, and a pointer to the target field of the
> array.
>
> name = variables.fname +
2012 Jan 16
2
[LLVMdev] Need more information on llvm.dbg.value call
Hi all,
I'm using clang + LLVM 2.9. Let's consider following code sample:
extern void bar(int x) ;
void foo(int y)
{
bar(y) ;
}
When compiled with clang at -O2 -g I've got following LLVM file:
; ModuleID = 'localvar.c'
target datalayout =
2010 Sep 23
0
[LLVMdev] where does %a_addr.0 come from?
Hi Maarten,
If you look at the start of basic block 2 (bb2) you'll see the
following instruction:
%a_addr.0 = phi i32 [ 1, %bb ], [ 0, %bb1 ] ; <i32> [#uses=1]
This is an SSA phi node which assigns a value of either 1 or 0 to %a_addr.0
depending on whether control reached the PHI node from basic block bb, or
bb1.
- Lang.
On Thu, Sep 23, 2010 at 11:26 PM, maarten faddegon <
2010 Sep 23
3
[LLVMdev] where does %a_addr.0 come from?
Hi,
I am studying SSA and some time ago I asked on this list how to see the
phi nodes in the llvm ir output. I learned then to use this command:
opt -mem2reg test.ll -S > test_mem2reg.ll
However, if you look at the output (attached to this message) there is
something I do not understand. At the end of the function @f at line 18,
the function returns the variable %a_addr.0. However, this
2008 Jun 28
2
[LLVMdev] need to store the address of a variable
Hello everybody,
my problem is, that I want to get an array of pointers to all local variables
in a function. This array will be used for transfering these Variables to
another execution engine.
I've code which generates this array, and a pointer to the target field of the
array.
name = variables.fname + "_pointerArray";
Instruction* pointerArray = new
2007 Oct 12
0
Changes to 'refs/tags/0.5.3'
Tag '0.5.3' created by Benjamin Otte <otte at gnome.org> at 2007-10-12 17:13 -0700
release 0.5.3 ("Tennis")
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQBHD50fvMv5VCdLq8QRAj21AKC+kWUT9YN0gGDxLNS6Bequt5ufjgCgtYgd
9zH6AzP7/BHRfo0j1tw80V8=
=wOYr
-----END PGP SIGNATURE-----
Changes since 0.5.2:
Benjamin Otte:
first try in getting movie
2007 Jul 07
0
Branch 'as' - 7 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_super.c libswfdec/swfdec_as_super.h libswfdec/swfdec_as_with.c test/trace
libswfdec/swfdec_as_context.c | 7 +-
libswfdec/swfdec_as_interpret.c | 35 ++++++-----
libswfdec/swfdec_as_object.c | 12 +++
libswfdec/swfdec_as_object.h | 5 -
libswfdec/swfdec_as_super.c | 46 +++++++++++++-
libswfdec/swfdec_as_super.h | 2
libswfdec/swfdec_as_with.c | 2
2015 Jun 01
2
[LLVMdev] Debug info for lazy variables triggers SROA assertion
Hi!
I created a bug report (https://llvm.org/bugs/show_bug.cgi?id=23712) for
this failure but then I realized that my approach may be wrong.
The following D source contains a lazy variable:
void bar(lazy bool val)
{
val();
}
The lazy variable val is translated to a delegate. The signature and the
first IR lines are:
define void @_D7opover23barFLbZv({ i8*, i1 (i8*)* } %val_arg) #0 {
2008 Jan 24
2
[LLVMdev] llvm-gcc + abi stuff
<moving this to llvmdev instead of commits>
On Jan 22, 2008, at 11:23 PM, Duncan Sands wrote:
>> Okay, well we already get many other x86-64 issues wrong already, but
>> Evan is chipping away at it. How do you pass an array by value in C?
>> Example please,
>
> I find the x86-64 ABI hard to interpret, but it seems to say that
> aggregates are classified