search for: prabhat

Displaying 18 results from an estimated 18 matches for "prabhat".

2008 Jan 23
1
[LLVMdev] Walking all the predecessors for a basic block
...h basic block walking over the predecessors in the graph BasicBlock* B = *I; } } } Am i doing something wrong ?, I did verify template specialisation of the GraphTrait class for the BasicBlock class from the CFG.h file. Why this UnknownGraphTypeError ? Thanks again for the help. Regards Prabhat On Jan 22, 2008 5:39 PM, Ted Kremenek <kremenek at apple.com> wrote: > Hi Pabhat, > > Have you checked out DepthFirstIterator? (include/llvm/ADT/ > DepthFirstIterator.h). It provides an iterator abstraction to perform > a forward/reverse DFS traversal of a graph. > >...
2007 Dec 20
0
[LLVMdev] First time!
...of predecessors) won't be 2, but would be more (depends upon the predecessors of bb2 and bb3). You can also try to utilize the branching info at the end of each basic block in llvmIR of the source. I am working on something similar, do let me know if u need some specific information. Regards Prabhat On Dec 20, 2007 11:36 AM, aditya vishnubhotla <vvaditya12 at yahoo.com> wrote: > Hi! > > I want to know > > How to count the number of predecessors for each basic > block? > > Thank You > > > > > _____________________________________________________...
2008 Jan 22
3
[LLVMdev] Walking all the predecessors for a basic block
...ol flow graph. entry -> bb1 -> bb2 -> bb4 -> return | | bb3 <-| walking over the predecessors for bb2 only gives bb3 and bb1.. while i need something like bb3 bb1 and return (i.e. walking till the root of the CFG) Any Ideas ? Regards Prabhat
2007 Dec 20
4
[LLVMdev] First time!
Hi! I want to know How to count the number of predecessors for each basic block? Thank You ____________________________________________________________________________________ Never miss a thing. Make Yahoo your home page. http://www.yahoo.com/r/hs
2008 Jan 22
0
[LLVMdev] Walking all the predecessors for a basic block
...do the following (someone else please correct me if I am wrong): #include "llvm/Support/CFG.h" #include "llvm/ADT/DepthFirstIterator.h" for (idf_iterator<BasicBlock*> I=idf_begin(BB), E=idf_end(BB); I != E; ++I) { BasicBlock* B = *I; On Jan 22, 2008, at 6:11 AM, Prabhat Kumar Saraswat wrote: > Hi all, > > Is there a way to walk through ALL the predecessors of a basic block > in a CFG. I tried to iterate over the preds using this method > > for (pred_iterator PI = pred_begin(BB), E = pred_end(BB); PI != E; + > +I) { > BasicBlock *PredBB =...
2008 Mar 04
2
[LLVMdev] Register Allocation by Graph Coloring
...t in by default by llvm. Are there some other projects, whose code i can borrow for this task. To summarize: I want to compare the generated code of various benchmarks (generated using linear scan based reg allocation vs graph based register allocation). Any suggestions would be helpful. Regards Prabhat
2008 Feb 05
1
[LLVMdev] Induction Variables vs Loop Control Variable
Hi all, I was wondering if its possible to identify loop control variables from the induction variables in a Loop using LLVM. Also, How does one can use the LoopInfo class to identify the natural loops from the IR. In other words how to use the class in the pass? Thanks, Regards Prabhat
2008 Feb 26
1
[LLVMdev] Program Slicing using LLVM?
...to the computation are removed or sliced out. Has someone already worked on this, or are there similar components i can reuse in my work? I am planning to create a IntraProcedure Dependence Graph (PDG) and then traverse along it to identify the relevant parts of the program. Any ideas? Regards Prabhat
2008 Mar 11
1
[LLVMdev] Cloning a function with a changed return type
...!!) - computation overhead parts are removed (DONE already) - the control structure is basically the same (DONE already) 2. Alternatively, Is it possible to change the return type of the original function itself during the runonmodule pass ? Any ideas ? :) Danke, Regards Prabhat
2007 Dec 25
3
[LLVMdev] Using debug info in static analysis
Hi, I was looking at how to use debug info to find out original source:line for a certain function/variable in the llvm bytecode. I read http://llvm.org/docs/SourceLevelDebugging.html, and then I have looked in lib/Debugger/ProgramInfo.cpp. getFunction() looks useful, however I am not sure how to call it. I have a reference to a Function, however getFunction() takes a GlobalVariable. I tried
2008 Apr 16
2
[LLVMdev] Problems in removing a cloned instruction.
...anual printfs inside the code), but during the module verification pass, i get an assert "opt: Value.cpp:57: virtual llvm::Value::~Value(): Assertion `use_empty() && "Uses remain when a value is destroyed!"' failed." What could be the probem!! Thanks alot. Regards Prabhat
2007 Dec 19
1
[LLVMdev] Conditional Predicate Extraction
...ible to somehow intersperse IR and highlevel code of the program (in C or C++). 2. Is it possible to incorporate some optimizations using llvm-gcc to make the generated IR very close to the high level language, without affecting the branch information. Suggestions and answers are welcome. Regards Prabhat -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20071219/b3e33f0e/attachment.html>
2007 Dec 20
0
[LLVMdev] Conditional Predicate Extraction
...emporary variables would have been already consumed by the aforementioned process. How does it sound like? Is it possible for the llvm-gcc to emit the bitcode in a form which is close to the source language (atleast the variable names). Are there some optimizations possible ? Thanks alot Regards Prabhat On Dec 19, 2007 7:32 PM, Cédric Venet <cedric.venet at laposte.net> wrote: > > The questions are: > > 1. Is it possible to somehow intersperse IR and highlevel code of the > program (in C or C++). > > > Suggestions and answers are welcome. > > You can probably...
2008 Jan 14
0
[LLVMdev] Extraction of constant operands from the instruction
...s the hasName() returns 0. Is there anyway I can display/extract these constant values from the instruction ? Another question: For and example IR like below, %tmp6 = load i32* @glob_var, align 4 ; <i32> [#uses=1] How can i extract the name of the instruction i.e. %tmp6 Regards Prabhat -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20080114/1edcf234/attachment.html>
2008 Jan 04
0
[LLVMdev] Extraction of Arguments Passed to a Function
...i1 %tmp10 to i8 ; <i8> [#uses=1] %toBool = icmp ne i8 %tmp1011, 0 ; <i1> [#uses=1] br i1 %toBool, label %bb, label %bb12 bb12: ; preds = %bb5 br label %return return: ; preds = %bb12 ret void } ......................... Thanks and Regards Prabhat -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20080104/ed767cbc/attachment.html>
2007 Dec 25
0
[LLVMdev] Using debug info in static analysis
On Dec 25, 2007, at 5:56 AM, Török Edwin wrote: > I was looking at how to use debug info to find out original > source:line > for a certain function/variable in the llvm bytecode. > > I read http://llvm.org/docs/SourceLevelDebugging.html, and then I have > looked in lib/Debugger/ProgramInfo.cpp. > getFunction() looks useful, however I am not sure how to call it. I >
2008 Mar 12
3
[LLVMdev] Question about use-def chain
Programmers’ manual says we can iterate over a use-def chain by op_iterator. It works fine except for load and store instruction of stack variables. For example, a simple bitcode is like the below. i = alloca i32 store i32 0, i32* %i, align 4 %tmp1 = load i32* %i, align 4 If I apply a use-def chain to load instruction, I get alloca instruction. I think store instruction is a correct
2008 Apr 16
0
[LLVMdev] Problems in removing a cloned instruction.
Hi, I'm gonna try to give some feedback, but I have only been working with LLVM for a few days, so don't take what I'm saying without verifying :-) > BasicBlock *ProgSlicer::CloneBasicBlock(const BasicBlock *BB, > DenseMap<const Value*, Value*> &ValueMap, > const char *NameSuffix, Function *F) { > > BasicBlock