search for: dnmh68

Displaying 13 results from an estimated 13 matches for "dnmh68".

2009 Oct 22
1
[LLVMdev] need to access static functions as extern
Hello, I write some instrumentation which needs to call static function from other files. Is there a way to associate a global name/alias to a static function? I need to turn the assembly code .align 16 .type some_static.2467, at function some_static.2467: CODE into .align 16 .type some_static.2467, at function some_static.2467: .align 16
2009 May 19
1
[LLVMdev] how to get a deterministic execution
...and only keep the function I am interested in. Thank you, Daniel > Date: Tue, 19 May 2009 10:59:35 -0700 > From: isanbard at gmail.com > To: llvmdev at cs.uiuc.edu > Subject: Re: [LLVMdev] how to get a deterministic execution > > On Mon, May 18, 2009 at 8:33 PM, dan mihai <dnmh68 at hotmail.com> wrote: > > Hello, > > > Yo! > > > For debugging purposes, I've added a unique id member to the Value class: > > > > global_next_vuid = 0; > > Value::Value(..){ > > vuid = ++global_next_vuid; > > } > > > > My...
2009 May 19
0
[LLVMdev] how to get a deterministic execution
On Mon, May 18, 2009 at 8:33 PM, dan mihai <dnmh68 at hotmail.com> wrote: > Hello, > Yo! > For debugging purposes, I've added a unique id member to the Value class: > > global_next_vuid = 0; > Value::Value(..){ >   vuid = ++global_next_vuid; > } > > My hope is that by looking at the vuid of a Value, I can see i...
2009 May 19
2
[LLVMdev] how to get a deterministic execution
Hello, For debugging purposes, I've added a unique id member to the Value class: global_next_vuid = 0; Value::Value(..){ vuid = ++global_next_vuid; } My hope is that by looking at the vuid of a Value, I can see its vuid, set a conditional breakpoint and re-run the compiler to see who (what pass) constructed that value. Maybe I am not doing it the right way, but the above 'vuid'
2009 Oct 28
2
[LLVMdev] converting large projects to LLVM
Hi, I wrote an interprocedural instrumentation pass that needs to run on all program at once. However, when I try to test it on large programs (say bzip2 or gcc) I find that the way LLVM tools do not easilly replace the default ones used in makefiles. So building large projects is not straightforward. Is there a simple way to do this conversion? Thank you, Dan
2009 Nov 26
1
[LLVMdev] SSA?
Hello, I am a bit confused about the nature of LLVM's SSA and IR in general. Questions: 1) Is it possible to get LLVM to generate code as in /*2*/ (bellow)? 2) if not, how can I tell if an operand has been previously defined? Here is why: I thought (wrongly) that all operands of an instruction must have been previously defined or some constants. I see that the 'bitcast'
2010 Apr 09
1
[LLVMdev] offset of extra function argument
Hi, I am instrumenting certain calls, and want to add an extra argument. Say original: foo(int x, int y) changed into modified: foo(int x, int y, int EXTRA) This is in opt, before lowering. Given the list of original arguments, is it possible to tell the stack offset of the EXTRA argument? Thank you, Dan _________________________________________________________________
2010 Apr 14
3
[LLVMdev] indirect jumps
Hi, What kind of C/C++ high level code can generate a computed jump, such as: jmpq *%r14 or jmpq *(%r14,%rbx,8) ? I imagine that any calls (including virtual) would use something like 'call *%r14', and the above jumps are mostly from 'switch' statements. Is this correct? Anything else? Thank you, Dan
2009 May 18
1
[LLVMdev] dumping IR
Hello, I am new to LLVM. I would like to see the effect of each pass on IR, and in particular to see which pass performed certain changes. So, I was wondering if there is a command line option that dumps the IR after each pass. Thank you, Dan _________________________________________________________________ Hotmail® has a new way to see what's up with your friends.
2009 May 20
2
[LLVMdev] jump to function
Hello, Is it possible to jump from one function to the beginning of another function? For instance, assume wrapper_FOO is a wrapper for FOO. I replace the code .............................. bar() { FOO(...) } .............................. with .............................. bar() { wrapper_FOO(...) } .............................. Now, for efficiency, I'd like to have wrapper_FOO() {
2010 Apr 09
0
[LLVMdev] passes after lowering‏
Hi, I need to perform some transformation after code was lowered. I think I need to do this in llc and use a MachinePass. However, it is unclear how. I am able to change the register allocator: llc -f -load XXX.so -regalloc=xxx foo.bc but I don't know how to just insert a different pass and pass new command options to llc. I found plenty of documentation about 'opt', but little
2010 Apr 28
1
[LLVMdev] machine pass
Hi, LLVM documentation is not clear. Is it possible to write a machine pass? I am trying to insert some machine code before the return instruction. ideally, I'd like a pass that runs the last one before generating assembly. How can this be done? Thank you, Dan _________________________________________________________________ Hotmail has tools for the New Busy. Search, chat and
2009 Oct 02
1
[LLVMdev] alias analysis and functions
Hi, I am trying to use alias analysis (Anderson) and noticed that for pointers to functions I don't get the expected result: a pointer that clearly may point to a function is reported as NoAlias. I use -anders-aa -aa-eval -print-no-aliases -print-may-aliases -print-must-aliases Here is a test case: ///////////////try_calls_aliases.c #include <stdio.h> typedef int (*PF)(); PF