Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] graph abstraction proposal"
2010 Apr 07
2
[LLVMdev] graph abstraction proposal
Hi!
while trying to use llvm::DominatorTreeBase on a custom graph that
has nothing to do with llvm::BasicBlock I ran into some difficulties,
because llvm::DominatorTreeBase calls e.g. getParent()->front()
directly on the nodes and uses llvm::Inverse which forced me to
implement my GraphTraits also for Inverse.
This could be solved using a compile time abstraction of Graph
instread of
2010 Apr 08
0
[LLVMdev] graph abstraction proposal
On Thu, Apr 8, 2010 at 2:10 AM, Jochen Wilhelmy <j.wilhelmy at arcor.de> wrote:
> Hi!
>
> while trying to use llvm::DominatorTreeBase on a custom graph that
> has nothing to do with llvm::BasicBlock I ran into some difficulties,
> because llvm::DominatorTreeBase calls e.g. getParent()->front()
> directly on the nodes and uses llvm::Inverse which forced me to
>
2013 Jun 05
0
[LLVMdev] CallGraph, GraphTraits and DominatorTree
Hi there,
I'm currently writing an analysis (for now) pass for LLVM that kind of need
some information from the CallGraph of the program. This info would be
extremely easy to get if I could build the DominatorTree information about
the CallGraph. I even checked out and saw the declarations of GraphTraits
templates for CallGraph and CallGraphNode, which might indicate that all
algorithms that
2009 Nov 16
2
[LLVMdev] [PATCH] ADT Fixups
Hello,
I posted an earlier version of this patch some months ago and realized
I've still been sitting on it. The earlier version of this patch was
rejected for adding a cycle detection function to SCCIterator.h. This
function is now removed.
This patch makes the following changes:
1. Allow SCCIterator to work with GraphT types that are constant.
2. Allow SCCIterator to work with
2009 Aug 07
2
[LLVMdev] [PATCH] Add functionality to scc_iterator
Chris Lattner wrote:
> It's more of an algorithm than a datastructure. Where else in the
> codebase would it be useful to use? If only in one place, it is
> probably reasonable to put it near the code that uses it.
>
> -Chris
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
2009 Aug 07
0
[LLVMdev] [PATCH] Add functionality to scc_iterator
Checking if a graph node is in a cycle or not must be a relatively
common query. E.g., we used this on DS graphs to decide if DS node
represented multiple objects or a single object. It's the basic query
to decide if a function is part of a recursive computation (a cycle in
the call graph). CFGs happen to have special code for natural loops
but you could use this query to handle
2017 May 24
3
GraphTraits dereferencing
Hello,
I’m trying to port a project up to 4.0 and I’m seeing the following error:
In file included from /Users/jaredcarlson/Projects/llvm-4.0.0.src/include/llvm/ADT/StringRef.h:13:
/Users/jaredcarlson/Projects/llvm-4.0.0.src/include/llvm/ADT/STLExtras.h:139:13: error: no type named 'type' in 'std::__1::result_of<std::__1::pointer_to_unary_function<llvm::DSNode *, llvm::DSNode
2017 Aug 26
2
building release_50 with gcc7.2.0 on MacOS: duplicate symbol llvm::DominatorTreeBase
This is release_50 branch of git,
sha1: f1d5723be3f9456a6b16cdf687847ac2918846de
Using gcc 7.2.0 from homebrew.
$ CC=/usr/local/opt/gcc/bin/x86_64-apple-darwin16.7.0-gcc-7
CXX=/usr/local/opt/gcc/bin/x86_64-apple-darwin16.7.0-g++-7 cmake ..
-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/Users/andy/local/llvm5
-DCMAKE_PREFIX_PATH=/Users/andy/local/llvm5
$ make VERBOSE=1
[ 92%] Linking CXX
2010 Mar 08
2
[LLVMdev] findNearestCommonDominator
On 03/07/2010 10:33 PM, Jochen Wilhelmy wrote:
> Hi!
Hi Jochen,
> I have seen that findNearestCommonDominator has been added
> to class PostDominatorTree, maybe on my request.
>
> Now there is the following problem:
> in class DominatorTreeBase there is an assert in findNearestCommonDominator
> that asserts if the tree is not a PostDominator tree:
>
> assert
2009 Sep 07
0
[LLVMdev] Graphviz and LLVM-TV
Edwin,
thanks, it starts making sense
inline comments...
Török Edwin wrote:
> On 2009-09-06 19:57, Ioannis Nousias wrote:
>
>> Edwin,
>>
>> thank you for your effort, but I'm not sure I understand.
>> Are you describing a graph traversal problem? Is the data model stored
>> in a predecessor/successor fashion, which requires you to 'walk' the
2015 Jul 23
1
[LLVMdev] Is loop header required to have at least one predecessor outside the loop?
Hi,
I was reading some loop related code and I don’t quite understand an assertion in LoopBase<BlockT, LoopT>::getLoopPredecessor().
/// getLoopPredecessor - If the given loop's header has exactly one unique
/// predecessor outside the loop, return it. Otherwise return null.
/// This is less strict that the loop "preheader" concept, which requires
/// the predecessor to have
2009 Sep 06
3
[LLVMdev] Graphviz and LLVM-TV
On 2009-09-06 19:57, Ioannis Nousias wrote:
> Edwin,
>
> thank you for your effort, but I'm not sure I understand.
> Are you describing a graph traversal problem? Is the data model stored
> in a predecessor/successor fashion, which requires you to 'walk' the
> graph in order to visit all nodes? (and what happens when you have
> disjointed DFGs?).
Sorry for the
2012 Jun 02
0
[LLVMdev] DFG of machine functions
I tried debugging it and the issue seems to be in the implementation of
MachineInstrIterator.h and the way it interacts with GraphWriter.h
functions. I found this by replacing the ( template <> struct
GraphTraits<MCDFGraph<MachineFunction*> >) with a similar MCDFGraph based
template of CFG similar to the one in MachineFunction.h (similarly
replacing the DOTGraphTraits with the
2010 Mar 07
0
[LLVMdev] findNearestCommonDominator
Hi!
I have seen that findNearestCommonDominator has been added
to class PostDominatorTree, maybe on my request.
Now there is the following problem:
in class DominatorTreeBase there is an assert in findNearestCommonDominator
that asserts if the tree is not a PostDominator tree:
assert (!this->isPostDominator()
&& "This is not implemented for post
2012 May 31
2
[LLVMdev] DFG of machine functions
Hi,
I am trying to generate the DFG of machine functions.
Initially, I added a pass to generate the DFG of LLVM IR functions. This
was based on the mail thread -
http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-September/025582.html. This
pass worked fine and I was able to generate DFG of LLVM IR functions.
Later, I ported the DFG pass code for machine functions. I ported the
InstIterator.h
2011 Jan 24
0
[LLVMdev] CodeExtractor.cpp potential bug?
I forgot to cc llvmdev.
Here is my original message.
I'm a bit confused on DominatorTreeBase::Split() (
http://llvm.org/docs/doxygen/html/Dominators_8h_source.html#l00229)
If a basic block A splits into A->B, when I call Split(), which is NewBB? A
or B?
The semantics shows that NewBB is the newly split basic block B.
But the assertion at line 229 doesn't seem right.
00229
2008 Feb 12
2
[LLVMdev] 2.2 build failure
I am using gcc 3.2.3 on RHEL 3 to build llvm 2.2.
Below are the build errors:
/home/i00171/Work/llvm-work/src/llvm-2.2/include/llvm/Analysis/DominatorInternals.h:147:
no
type named `NodeType' in `class llvm::BasicBlock'
/home/i00171/Work/llvm-work/src/llvm-2.2/include/llvm/Analysis/DominatorInternals.h:150:
`
VInfo' undeclared (first use this function)
2017 Dec 08
3
Issue with BUILD_SHARED_LIBS=ON
Dear all,
while trying to build llvm with shared libraries using GCC (tested both in
Ubuntu 14.04 and Ubuntu 16.04) as in
cmake -G Ninja -DBUILD_SHARED_LIBS=ON
I run into the following link error
lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/PartialInlining.cpp.o: In function `llvm::ForwardDominanceFrontierBase<llvm::BasicBlock>::ForwardDominanceFrontierBase()':
2008 Feb 12
0
[LLVMdev] 2.2 build failure
On Tue, 12 Feb 2008, Sanjiv Gupta wrote:
> I am using gcc 3.2.3 on RHEL 3 to build llvm 2.2.
> Below are the build errors:
>
> /home/i00171/Work/llvm-work/src/llvm-2.2/include/llvm/Analysis/DominatorInternals.h:147:
> no
> type named `NodeType' in `class llvm::BasicBlock'
> /home/i00171/Work/llvm-work/src/llvm-2.2/include/llvm/Analysis/DominatorInternals.h:150:
>
2002 Nov 08
1
[LLVMdev] Iterating on the DSGraph... (fwd)
I use the following code to do the depth first search on the DSGraph. And
I always got this error message. Couldn't figure out what's wrong. Could
you please let me know? Besides, I really have no idea about what those
functions do. Is there any documentation about DSGraph functions besides
the pool allocation paper?
Thanks,
xiaodong
Code:
for( df_iterator<DSNode*> I =