search for: rootnod

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

Did you mean: rootnode
2010 Nov 01
2
[LLVMdev] Identify recursion in a call graph
...be a > CallGraphSCCPass in which case it will work one strongly connected > component at a time. Converting my ModulePass to a CallGraphSCCPass doesn't seem feasible, so I'll use llvm::scc_iterator. Here's what I have so far: bool MyModulePass::isRecursive() { CallGraphNode* rootNode = getAnalysis<CallGraph>().getRoot(); for (scc_iterator<CallGraphNode*> SCCI = scc_begin(rootNode), E = scc_end(rootNode); SCCI != E; ++SCCI) { const std::vector<CallGraphNode*> &nextSCC = *SCCI; if (nextSCC.size() == 1 && SCCI.hasLoop()) { return true; }...
2010 Nov 02
2
[LLVMdev] Identify recursion in a call graph
...;baldrick at free.fr> wrote: > Hi Trevor, > > > Converting my ModulePass to a CallGraphSCCPass doesn't seem feasible, so > I'll > > use llvm::scc_iterator. Here's what I have so far: > > > > bool MyModulePass::isRecursive() { > > CallGraphNode* rootNode = getAnalysis<CallGraph>().getRoot(); > > for (scc_iterator<CallGraphNode*> SCCI = scc_begin(rootNode), E = > > scc_end(rootNode); SCCI != E; ++SCCI) { > > const std::vector<CallGraphNode*> &nextSCC = *SCCI; > > if (nextSCC.size() == 1 && SCCI....
2010 Nov 02
0
[LLVMdev] Identify recursion in a call graph
Hi Trevor, > Converting my ModulePass to a CallGraphSCCPass doesn't seem feasible, so I'll > use llvm::scc_iterator. Here's what I have so far: > > bool MyModulePass::isRecursive() { > CallGraphNode* rootNode = getAnalysis<CallGraph>().getRoot(); > for (scc_iterator<CallGraphNode*> SCCI = scc_begin(rootNode), E = > scc_end(rootNode); SCCI != E; ++SCCI) { > const std::vector<CallGraphNode*> &nextSCC = *SCCI; > if (nextSCC.size() == 1 && SCCI.hasLoop()) { > re...
2010 Nov 02
0
[LLVMdev] Identify recursion in a call graph
...>> Hi Trevor, >> >> > Converting my ModulePass to a CallGraphSCCPass doesn't seem feasible, so >> I'll >> > use llvm::scc_iterator. Here's what I have so far: >> > >> > bool MyModulePass::isRecursive() { >> > CallGraphNode* rootNode = getAnalysis<CallGraph>().getRoot(); >> > for (scc_iterator<CallGraphNode*> SCCI = scc_begin(rootNode), E = >> > scc_end(rootNode); SCCI != E; ++SCCI) { >> > const std::vector<CallGraphNode*> &nextSCC = *SCCI; >> > if (nextSCC.size() == 1...
2010 Oct 29
2
[LLVMdev] Identify recursion in a call graph
Hi, Is there any facility in LLVM to identify recursion in a call graph? I realize this is undecidable in the general case due to function pointers, but at least the static cases could be identified. I don't even care about whole-program recursion, just looking at a single module would suffice. But I don't see anything like this already in LLVM, so do I simply write some code to
2010 Oct 30
0
[LLVMdev] Identify recursion in a call graph
Hi Trevor, > Is there any facility in LLVM to identify recursion in a call graph? I > realize this is undecidable in the general case due to function > pointers, but at least the static cases could be identified. I don't > even care about whole-program recursion, just looking at a single > module would suffice. But I don't see anything like this already in > LLVM, so do
2010 Nov 03
2
[LLVMdev] Identify recursion in a call graph
...de is interesting, but I'm not sure that this feature warrants an entirely new pass. Maybe it's more appropriate to integrate with the existing CallGraph pass by adding an isRecursive method to CallGraphNode. For example: AU.addRequired<CallGraph>(); ... CallGraphNode* rootNode = getAnalysis<CallGraph>().getRoot(); if (rootNode->isRecursive()) { ... } But I have no idea how to write a test case for this. It appears that LLVM is not set up for unit tests of individual API calls. Any thoughts? Trevor
2010 Jan 19
1
[LLVMdev] ComplexPattern
...an be used later on (Number is specified by numops), ty presumably specifies the type of node that this match can be attempted on. Is my understanding of this correct? The thing I'm still unsure about is roots, what exactly does this do? The comment above the definition specifies that 'RootNodes are the list of possible root nodes of the sub-dags to match' (RootsNodes is assigned to root so they're the same) but I can't make any sense of this. Cheers, Greg Chadwick
2010 Nov 03
0
[LLVMdev] Identify recursion in a call graph
...39;m not sure that this feature warrants an entirely new pass. Maybe > it's more appropriate to integrate with the existing CallGraph pass by > adding an isRecursive method to CallGraphNode. For example: > > AU.addRequired<CallGraph>(); > ... > CallGraphNode* rootNode = getAnalysis<CallGraph>().getRoot(); > if (rootNode->isRecursive()) { ... } > > But I have no idea how to write a test case for this. It appears that > LLVM is not set up for unit tests of individual API calls. Any thoughts? The unittests/ directory contains C++ unit tes...
2013 Apr 12
2
[LLVMdev] Runtime exception in DominatorTree.getRootNode()
Hi all, I am trying to traverse a dominator tree and have encountered a weird runtime exception: Here's my simple code: virtual bool runOnFunction(Function &F) { DominatorTree& DT = getAnalysis<DominatorTree>(); * DomTreeNode* rootNode = DT.getRootNode();* return false. } Here's the documentation page: http://llvm.org/docs/doxygen/html/classllvm_1_1DominatorTree.html And here's my runtime exception: dyld: lazy symbol binding failed: Symbol not found: __ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE11getRootNodeEv...
2013 Apr 12
2
[LLVMdev] Runtime exception in DominatorTree.getRootNode()
...gt; I am trying to traverse a dominator tree and have encountered a weird > runtime exception: > > Here's my simple code: > > virtual bool runOnFunction(Function &F) { > DominatorTree& DT = getAnalysis<DominatorTree>(); > > * DomTreeNode* rootNode = DT.getRootNode();* > return false. > } > > Here's the documentation page: > http://llvm.org/docs/doxygen/html/classllvm_1_1DominatorTree.html > > And here's my runtime exception: > dyld: lazy symbol binding failed: Symbol not found: > __ZN4llvm17Domina...
2013 Apr 12
0
[LLVMdev] Runtime exception in DominatorTree.getRootNode()
...l, > > I am trying to traverse a dominator tree and have encountered a weird > runtime exception: > > Here's my simple code: > > virtual bool runOnFunction(Function &F) { > DominatorTree& DT = getAnalysis<DominatorTree>(); > > * DomTreeNode* rootNode = DT.getRootNode();* > return false. > } > > Here's the documentation page: > http://llvm.org/docs/doxygen/html/classllvm_1_1DominatorTree.html > > And here's my runtime exception: > dyld: lazy symbol binding failed: Symbol not found: > __ZN4llvm17DominatorT...
2013 Apr 12
0
[LLVMdev] Runtime exception in DominatorTree.getRootNode()
...ee and have encountered a >> weird runtime exception: >> >> Here's my simple code: >> >> virtual bool runOnFunction(Function &F) { >> DominatorTree& DT = getAnalysis<DominatorTree>(); >> >> * DomTreeNode* rootNode = DT.getRootNode();* >> return false. >> } >> >> Here's the documentation page: >> http://llvm.org/docs/doxygen/html/classllvm_1_1DominatorTree.html >> >> And here's my runtime exception: >> dyld: lazy symbol bindi...
2013 Apr 12
1
[LLVMdev] Runtime exception in DominatorTree.getRootNode()
...ominator tree and have encountered a weird >> runtime exception: >> >> Here's my simple code: >> >> virtual bool runOnFunction(Function &F) { >> DominatorTree& DT = getAnalysis<DominatorTree>(); >> >> * DomTreeNode* rootNode = DT.getRootNode();* >> return false. >> } >> >> Here's the documentation page: >> http://llvm.org/docs/doxygen/html/classllvm_1_1DominatorTree.html >> >> And here's my runtime exception: >> dyld: lazy symbol binding failed: Symbol n...
2010 Feb 21
2
[LLVMdev] LLVM demo browser error
Hi, Today I was trying to wath demo of LLVM on llvm.org page, but I have received an error "Internal Server Error". I was asked to notify server administrator which I am doing in this email. I am using Linux Debian Etch and Iceweasel in version 3.0.6 Best Regards, Lukasz
2010 Jan 18
0
[LLVMdev] Frame index arithmetic
On Jan 17, 2010, at 2:56 AM, Mark Muir wrote: > I've developed a working back-end for a custom architecture, based on LLVM 2.6. I'm now trying to cover more of the unique features of this architecture. > > To make use of one such feature, I'm trying something cunning/crazy with the stack - implementing it in a type of memory that can only be addressed via immediates. >
2010 Jan 19
2
[LLVMdev] Frame index arithmetic
...ly, this doesn't seem to be the problem. I have the following definition for the frameIndex: def frameIndex : Operand<i32>, ComplexPattern<i32 /*valueType*/, 1 /*numOperands*/, "SelectFrameIndex" /*selectFunction*/, [frameindex] /*rootNodes*/> { let PrintMethod = "printFrameIndexOperand"; let MIOperandInfo = (ops GPR); } And the following selection code: bool MyDAGToDAGISel:: SelectFrameIndex(SDValue Op, SDValue N, SDValue& Address) { if (FrameIndexSDNode* FIN = dyn_cast<FrameIndexSDNode>...
2010 Jan 17
2
[LLVMdev] Frame index arithmetic
I've developed a working back-end for a custom architecture, based on LLVM 2.6. I'm now trying to cover more of the unique features of this architecture. To make use of one such feature, I'm trying something cunning/crazy with the stack - implementing it in a type of memory that can only be addressed via immediates. I've got this mostly working. However, I came across a problem
2003 Apr 22
4
converting to factor
hello, I have a list of numbers that I want to convert into factors representing ranges of values. For example, if I have c(2.5, 1.6, 3.2) I might want a list of factors like c("<3", "<3", ">3") I think I can do this by writing a function and using apply, as.matrix, &c., but I'm looking for a nicer way. Any help is greatly appreciated. Thanks!
2012 Sep 17
2
Mailbox directory permissions (LDA, 0600 -> 0660, virtual users)
Hello, I have a quite common dovecot configuration with virtual users support: 1. User configuration is stored in MySQL database. 2. Mailboxes are owned by vmail:vmail with permission 0600 or drwx------. Is it possible to change mailbox mode to 0660? Dovecot version is 2.1.7 Part of SQL configuration: user_query = \ SELECT \ CONCAT_WS('/', home, u.uid, d.domain_name, u.user_name)