similar to: [LLVMdev] Basic Block code sample

Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] Basic Block code sample"

2013 Mar 19
0
[LLVMdev] Basic Block code sample
Hi, Example on how to iterate over CFG, take a look at DominanceFrontier.cpp. You can further implement easily a traverse graph algorithm. On Tue, Mar 19, 2013 at 2:35 PM, Ashish Kulkarni < ashish-kulkarni at hotmail.com> wrote: > Hi LLVM Delveloper, > i've been working on LLVM and Clang to get basic block information. > The CFG supports Visitors (CFG.h) but i might
2010 Nov 24
2
[LLVMdev] A way to traverse machine basic blocks in order?
I'm looking for a way to traverse machine basic blocks in a specific order. Basically I want all blocks that are predecessors to the current block to be traversed before the current block. I've looked at MachineDominatorTree but this doesn't traverse them in quite the way I want them to. Anyone know of a way to do this? Thanks, Micah -------------- next part -------------- An HTML
2010 Nov 24
0
[LLVMdev] A way to traverse machine basic blocks in order?
The reverse postorder iterator does what you want. It's defined in ADT/PostOrderIterator.h, and is used like this: ReversePostOrderTraversal<Function*> RPOT(&F); for (ReversePostOrderTraversal<Function*>::rpo_iterator RI = RPOT.begin(), RE = RPOT.end(); RI != RE; ++RI) <work here> Creating a ReversePostOrderTraversal is not cheap, because it first has to
2013 Apr 09
0
[LLVMdev] Any passes that work on extended basic blocks?
As far as I know, there is none. Pretty much every analysis or transform on EBBs can be extended to work on the dominator tree, which is what LLVM prefers. Cameron On Apr 8, 2013, at 9:53 PM, Bill He <wh3 at rice.edu> wrote: > Hi all, > > I am trying to find a sample pass that works on extended basic blocks. Any suggestion or help is very much appreciated. > > Thanks in
2013 Apr 09
2
[LLVMdev] Any passes that work on extended basic blocks?
Hi all, I am trying to find a sample pass that works on extended basic blocks. Any suggestion or help is very much appreciated. Thanks in advance. Best, Weibo -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130408/5492103d/attachment.html>
2011 Jun 06
0
[LLVMdev] Understanding SelectionDAG construction
Hi Ankur, > The flags "-view-sched-dags".. described in the doc doesn't seem to work. ( > "llc -help" doesn't list it ). as far as I remember, displaying DAGs during compilation is only enabled in "debug builds" [1] of LLVM. You probably have to re-configure and re-compile LLVM to enable this feature. Best regards, Christoph [1]
2013 Feb 20
1
[LLVMdev] Extracting Basic Blocks/CFG from LLVM/clang
Hi LLVM developers, I've been beginning to work with LLVM and I'm interested to know if there is a programmatic way to extract the control flow graph and/or basic blocks from LLVM/clang in order to do some analysis on them. Is there a way to get that ? thank you in advance. Regards, Kulkarni Ashish A.College of Engineering, PuneIndia. -------------- next part
2011 Jun 06
4
[LLVMdev] Understanding SelectionDAG construction
I am trying to understand the SelectionDAG construction from LLVM IR. I have gone through the doc "The LLVM Target-Independent Code Generator" on LLVM site. This gives a great initial overview. However I am unable to catch the actual control flow for the llvm->selectionDag conversion. The flags "-view-sched-dags".. described in the doc doesn't seem to work. ( "llc
2015 May 05
1
[LLVMdev] Naryreassociate vs reassociate
On Tue, May 5, 2015 at 10:20 AM, Jingyue Wu <jingyue at google.com> wrote: > Hi Daniel, > > I presume you mean, instead of assigning function arguments distinct ranks > (http://llvm.org/docs/doxygen/html/Reassociate_8cpp_source.html#l00282), we > should group function arguments in favor of existing pairings. Existing = pairings reassociate already chose before *not* existing
2017 Oct 27
3
Dominator tree side effect or intentional
Hello, I was wondering whether or not some behaviour that I am seeing is expected behaviour and that it has been designed like this, or not. A dominator relation is given by "if A dominates B", then all paths to B go through A. For example, take the CFG below (which is a directed graph (couldn’t make the arrow heads but ok.): A / \ B C \ / D | E We can construct
2007 Jan 25
2
serialize() takes too long when serializing to a raw vector
Hello, R version 2.4.1 (2006-12-18) i386-pc-mingw32 Calling serialize() with a NULL connection serializes it to a raw vector. However, when the object to be serialized is large, it takes a very long time: > system.time( serialize(matrix(0, 1000, 1000), NULL) ) [1] 38.25 40.73 81.54 NA NA > system.time( serialize(matrix(0, 2000, 2000), NULL) ) [1] 609.72 664.75 1318.57 NA
2006 Jul 31
1
Rails on Fedora Core 4 + Apache 2.0.54
Hi guys, I want to get Rails to run optimally on Fedora Core 4 + Apache 2.0.54. Can anyone point me in the right direction please? Best Regards, Ashish. Senior Consultant SAP For Business Ltd., 37 Springfield Road, Stirling, Scotland, United Kingdom FK7 7QN. +44-774-810-7492. -------------- next part -------------- An HTML attachment was scrubbed... URL:
2017 Aug 22
5
[RFC] mir-canon: A new tool for canonicalizing MIR for cleaner diffing.
Patch for review. On Mon, Aug 21, 2017 at 11:45 PM Puyan Lotfi <puyan.lotfi.llvm at gmail.com> wrote: > Ping. > > Still working on preparing code for review. Will have a patch for review > ready in the coming days. > > PL > > On Tue, Aug 15, 2017 at 12:06 PM Puyan Lotfi <puyan.lotfi.llvm at gmail.com> > wrote: > >> Hi, >> >> >>
2013 May 02
2
[LLVMdev] int to StringRed conversion
I think the better solution should be: LLVMContext& C = is->getContext(); Value *values[] = { ConstantInt::getSigned(Type::getInt64Ty(C), *scsr*), MDString::get(C, *"path"*) }; lnstr.setMetadata(*"your_analysis_name"*, MDNode::get(C, values)); So that you can take advantage of the type system of LLVM bitcode, and don't have to cast the integers from/to strings
2011 Nov 20
3
[LLVMdev] Order of Basic Blocks
LLVMers, Is there any way to guarantee iteration of the basic blocks from top down or path to path? Currently it looks sort of semi-random, sometimes visiting loop heads first and other times loop tails, is there a way I can visit the BBs top down or path to path? Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL:
2013 Jun 25
4
[LLVMdev] get value
Hi Cristianno, Thank you, it works :) with an extra cast:                                     Value *v ......                                     ConstantInt* RR = (ConstantInt *)v;                                     uint64_t VV = (RR->getValue()).getLimitedValue();                                     errs()<<"\nRR  "<<VV<<"\n";
2012 Dec 20
2
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
Hello, Thank you for your answer. If I want to use then I have error: ‘NodeTy* llvm::ilist_half_node<NodeTy>::getPrev() [with NodeTy = llvm::Instruction]’ is protected error: ‘llvm::ilist_half_node<llvm::Instruction>’ is not an accessible base of ‘llvm::Instruction’ Do you know any other method to access the previous instruction of a terminator instruction? PS: back() is not an
2013 Jun 06
3
[LLVMdev] CFG of a function
I think I understood that, but what I mean is what is the function responsible to do mapping is it MapValue() in ValueMapper.h? Thanks for your help On 6 June 2013 09:54, Alexandru Ionut Diaconescu < alexandruionutdiaconescu at gmail.com> wrote: > Map every basic block from the CFG to a set of integers. The successors > from the CFG can be used to make the edges in your simplified
2012 Dec 20
1
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
I solved by checking if(BB->size()>1) Thank you all for the help ! Now debugging the next segfault. On Thu, Dec 20, 2012 at 12:59 PM, Alexandru Ionut Diaconescu < alexandruionutdiaconescu at gmail.com> wrote: > getPrevNode<http://llvm.org/docs/doxygen/html/classllvm_1_1ilist__node.html#a77b897207ef0a1ae95c404695aed9a4b>() > Get the previous node, or 0 for the list
2013 Feb 27
3
[LLVMdev] llvm get annotations
Hello everyone ! I followed http://stackoverflow.com/questions/4976298/modern-equivalent-of-llvm-annotationmanagerin order to get annotations from my target bytecode. All the examples that I give in the following is related to the code from that link. I have `__attribute__((annotate("DS"))) int f=0;` into the target C++ program and the related IR code: @.str = private unnamed_addr