search for: jianfei

Displaying 20 results from an estimated 20 matches for "jianfei".

2012 Aug 09
2
[LLVMdev] The use-define chain in LLVM
...changed after the function call, fun(arr, 10), by LLVM API? It could be more complicated considerring the nested function call, and variable pointer alias. Does LLVM offer the interface to solve that? 2012/8/9 Alex Rønne Petersen <xtzgzorex at gmail.com>: > On Thu, Aug 9, 2012 at 6:57 AM, Jianfei Hu <hujianfei258 at gmail.com> wrote: >> Thanks for your response! >> >> But I want to determine wheter the specific variable's value has been >> changed between >> two usages of variable, and wheter the parameter's value is changed in >> a function...
2012 Aug 10
3
[LLVMdev] The use-define chain in LLVM
Yes, this demanding comes from our recent research project. If it's avaiable, could you send me the source code of taint-tracking analysis ? I really appreciate your help. Thanks! 2012/8/9 John Criswell <criswell at illinois.edu>: > On 8/9/12 12:40 AM, Jianfei Hu wrote: >> >> Maybe My statement is not clear. Take an example: >> main.c: >> int global; >> void fun(int array[], int i){ >> array[i] = i + 1; >> global = i; >> } >> >> int main(){ >> int arr[40], i = 0; &...
2012 Aug 09
2
[LLVMdev] The use-define chain in LLVM
...iable's value has been changed between two usages of variable, and wheter the parameter's value is changed in a function. Like the reaching definition analysis, and ud chains. 2012/8/9 ��f�� (Wei-Ren Chen) <chenwj at iis.sinica.edu.tw>: > On Thu, Aug 09, 2012 at 11:16:15AM +0800, Jianfei Hu wrote: >> Hello All, >> >> Is the use-define chain related API avaliable in LLVM? I want >> to get the information >> about the variables' value changes at different points in the program. > > Is this [1] fit your need? > > HTH, > chenwj...
2012 Aug 09
0
[LLVMdev] The use-define chain in LLVM
On 8/9/12 12:40 AM, Jianfei Hu wrote: > Maybe My statement is not clear. Take an example: > main.c: > int global; > void fun(int array[], int i){ > array[i] = i + 1; > global = i; > } > > int main(){ > int arr[40], i = 0; > fun(arr, 10); > return 0; > } > Can I determine...
2012 Aug 09
0
[LLVMdev] The use-define chain in LLVM
On Thu, Aug 9, 2012 at 6:57 AM, Jianfei Hu <hujianfei258 at gmail.com> wrote: > Thanks for your response! > > But I want to determine wheter the specific variable's value has been > changed between > two usages of variable, and wheter the parameter's value is changed in > a function. Like the > reaching...
2012 Aug 25
6
[LLVMdev] How to Check whether BasicBlock resides in a conditional branch
Hello All, I want to dertermine whether a basicblock is in a conditional branch. such as, //============================= if a > 2 // BasicBlock A then BasicBlock B endif BasicBlock C //============================= What I want to identify is BasicBlock B, which is in a condtional block. but C is not. In other words, I want to distinguish BasicBlocks that * must * be executed and that
2012 Aug 25
2
[LLVMdev] How to Check whether BasicBlock resides in a conditional branch
...t to get. I just want rough results. Thanks for your suggestion! > > -- > Yaroslav Markov > PhD student in Computer Science > Stony Brook University > ________________________________________ > From: llvmdev-bounces at cs.uiuc.edu [llvmdev-bounces at cs.uiuc.edu] on behalf of Jianfei Hu [hujianfei258 at gmail.com] > Sent: Saturday, August 25, 2012 8:44 AM > To: LLVMdev at cs.uiuc.edu > Subject: [LLVMdev] How to Check whether BasicBlock resides in a conditional branch > > Hello All, > > I want to dertermine whether a basicblock is in a conditional branch...
2012 Aug 17
0
[LLVMdev] Problem of use CallGraph
On Fri, Aug 17, 2012 at 4:23 PM, Jianfei Hu <hujianfei258 at gmail.com> wrote: > Hello, > I want to traverse CallGraph > > code segment: > > > virtual void getAnalysisUsage(AnalysisUsage &AU) const > { > AU.addRequired<CallGraph>();...
2012 Aug 17
3
[LLVMdev] Problem of use CallGraph
Hello, I want to traverse CallGraph code segment: virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<CallGraph>(); } virtual bool runOnModule(Module &F) { CallGraph &g = getAnalysis<CallGraph>(); for ( CallGraph::iterator i = g.begin(); i != g.end(); i++) { errs()<<"-----------------\n";
2012 Aug 09
2
[LLVMdev] The use-define chain in LLVM
Hello All, Is the use-define chain related API avaliable in LLVM? I want to get the information about the variables' value changes at different points in the program. Best wishes.
2012 Aug 09
0
[LLVMdev] The use-define chain in LLVM
On Thu, Aug 09, 2012 at 11:16:15AM +0800, Jianfei Hu wrote: > Hello All, > > Is the use-define chain related API avaliable in LLVM? I want > to get the information > about the variables' value changes at different points in the program. Is this [1] fit your need? HTH, chenwj [1] http://llvm.org/docs/ProgrammersManu...
2012 Aug 25
0
[LLVMdev] How to Check whether BasicBlock resides in a conditional branch
In the general sense you may get some help by looking at the control dependence graph. - dibyendu ----- Original Message ----- From: Jianfei Hu [mailto:hujianfei258 at gmail.com] Sent: Saturday, August 25, 2012 07:43 AM To: LLVMdev at cs.uiuc.edu <LLVMdev at cs.uiuc.edu> Subject: [LLVMdev] How to Check whether BasicBlock resides in a conditional branch Hello All, I want to dertermine whether a basicblock is in a conditional bran...
2012 Apr 23
1
[LLVMdev] Problem about the type of Function's arguement in llvm
...d that arg_iterator itr ( Function::arg_iterator itr = fun->arg_begin(); ) can be used in CreateStore() function, however, it can not be used as the arguments of CreateLoad() function. 2012/4/22 Hongbin Zheng <etherzhhb at gmail.com> > hi > > On Sun, Apr 22, 2012 at 8:36 PM, Jianfei Hu <hujianfei258 at gmail.com> > wrote: > > in the tutorial of official llvm doc, chapter 3, it deals with > arguement of > > function as follow: > > > > for (Function::arg_iterator AI = F->arg_begin(); Idx != Args.size(); > > ++AI, ++Idx) { >...
2012 Aug 26
0
[LLVMdev] How to Check whether BasicBlock resides in a conditional branch
Hi Jianfei Hu, the GVN pass does something like this in the logic around GVN::propagateEquality. If in your example it was if a == 2 // BasicBlock A then then it replaces all occurrences of a with 2 in BasicBlock A. For this it needs to understand which basic blocks can only be reached via this con...
2012 Aug 25
0
[LLVMdev] How to Check whether BasicBlock resides in a conditional branch
...lock D In this example BasicBlock C is *must* executed, however it's hard to detect that it is. -- Yaroslav Markov PhD student in Computer Science Stony Brook University ________________________________________ From: llvmdev-bounces at cs.uiuc.edu [llvmdev-bounces at cs.uiuc.edu] on behalf of Jianfei Hu [hujianfei258 at gmail.com] Sent: Saturday, August 25, 2012 8:44 AM To: LLVMdev at cs.uiuc.edu Subject: [LLVMdev] How to Check whether BasicBlock resides in a conditional branch Hello All, I want to dertermine whether a basicblock is in a conditional branch. such as, //===================...
2012 Apr 22
0
[LLVMdev] Problem about the type of Function's arguement in llvm
hi On Sun, Apr 22, 2012 at 8:36 PM, Jianfei Hu <hujianfei258 at gmail.com> wrote: > in the  tutorial of official llvm doc, chapter 3, it deals with arguement of > function as follow: > > for (Function::arg_iterator AI = F->arg_begin(); Idx != Args.size(); >        ++AI, ++Idx) { >     AI->setName(Args[Idx]); &gt...
2012 Apr 22
2
[LLVMdev] Problem about the type of Function's arguement in llvm
in the tutorial of official llvm doc, chapter 3, it deals with arguement of function as follow: for (Function::arg_iterator AI = F->arg_begin(); Idx != Args.size(); ++AI, ++Idx) { AI->setName(Args[Idx]); // NamedValues is map<string, Value*> NamedValues[Args[Idx]] = AI; and when it try to get the value of arguement, it simply does: Value
2012 Apr 21
1
[LLVMdev] Little Problem about Variable memory allocating way in function
As I want to generate code for the varaible declaration, at first, I thought AllocInstruction()could implement this. However, the name "alloc" seems to allocate memory from heap memory.and the local variable in function should stay at stack memory. In which way did llvm allocate memeory to AllocInstruction() ? Would the memory allocated by AllocInstruction() be recycled back? If not
2012 Sep 13
5
[LLVMdev] [OT] Control Flow Graph(CFG) into Abstract Syntax Tree(AST)
Hi, I know most compilers go from AST to CFG. I am writing a decompiler, so I was wondering if anyone knew of any documents describing how best to get from CFG to AST. The decompiler project is open source. https://github.com/jcdutton/libbeauty The decompiler already contains a disassembler and a virtual machine resulting in an annotated CFG. It uses information gained from using a virtual
2012 Aug 16
0
[LLVMdev] How to Get structured info without using Pass
Hi All, Recently, I want to do some anlysis for the program. And I found some structural info, such as Loop, CallGraph, Alias, is all presented in the form of LLVM Pass. Define your own pass and then use command 'opt' to load it. But is there any way to get these information, LoopInfo, CallGraph, without defining Pass? I mean, information coud be get in normal way,