search for: dataflows

Displaying 20 results from an estimated 297 matches for "dataflows".

Did you mean: dataflow
2013 Apr 16
2
[LLVMdev] Traditional Dataflow Algorithm
Is there a traditional dataflow algorithm buried in LLVM somewhere? I need to be able to do some very late transformations (after regalloc) and we aren't in SSA anymore. I will need a dataflow analysis to ensure correctness. At one point I thought I remembered seeing a generic fixed-point dataflow analysis engine but now I can't find it. Does it still exist or did it ever exist? If
2009 Sep 06
2
[LLVMdev] Graphviz and LLVM-TV
...llPtrSet<const Value*, 16> SmallValueSet; SmallValueSet DFSet; const User* U = ...; for (idf_ext_iterator<const User*, SmallValueSet> I=idf_ext_begin(U, DFSet), E=idf_ext_end(U, DFSet); I != E; ++I) { .. } There is no common root for the dataflow graph from which you can enumerate all dataflows, but you could take each instruction in a function that you're interested in, and output a dataflow graph rooted at that instruction, unless that instruction was part of some other dataflow graph already. Perhaps something like: SmallValueSet PrintedSet; for (Function::arg_iterator I=F.arg_be...
2009 Sep 06
3
[LLVMdev] Graphviz and LLVM-TV
...> } >> >> >> > I don't understand why I'd need a depth-first iterator. It was just an example to show something that uses the GraphTraits from DataFlow.h. > > >> There is no common root for the dataflow graph from which you can >> enumerate all dataflows, but you could take >> each instruction in a function that you're interested in, and output a >> dataflow graph rooted at that instruction, >> unless that instruction was part of some other dataflow graph already. >> >> > from this I'm getting that you su...
2013 Apr 16
0
[LLVMdev] Traditional Dataflow Algorithm
On 4/16/13 11:30 AM, dag at cray.com wrote: > Is there a traditional dataflow algorithm buried in LLVM somewhere? I > need to be able to do some very late transformations (after regalloc) > and we aren't in SSA anymore. I will need a dataflow analysis to ensure > correctness. > > At one point I thought I remembered seeing a generic fixed-point > dataflow analysis engine
2009 Sep 06
0
[LLVMdev] Graphviz and LLVM-TV
...ator<const User*, SmallValueSet> I=idf_ext_begin(U, > DFSet), E=idf_ext_end(U, DFSet); I != E; ++I) { > .. > } > > > I don't understand why I'd need a depth-first iterator. > There is no common root for the dataflow graph from which you can > enumerate all dataflows, but you could take > each instruction in a function that you're interested in, and output a > dataflow graph rooted at that instruction, > unless that instruction was part of some other dataflow graph already. > > from this I'm getting that you suggest finding all "r...
2017 Jul 05
3
Dataflow analysis regression in 3.7
Hi all, I just found an optimization regression regarding simple dataflow/constprop analysis: https://godbolt.org/g/Uz8P7t This code ``` int dataflow(int b) { int a; if (b==4) a = 3*b; // fully optimized when changed to a = 3; else a = 5; if (a == 4) return 0; else return 1; } ``` is no longer optimized to just a "return 1". The regression happened in LLVM
2009 Sep 07
0
[LLVMdev] Graphviz and LLVM-TV
...t understand why I'd need a depth-first iterator. >> > > It was just an example to show something that uses the GraphTraits from > DataFlow.h. > > >> >>> There is no common root for the dataflow graph from which you can >>> enumerate all dataflows, but you could take >>> each instruction in a function that you're interested in, and output a >>> dataflow graph rooted at that instruction, >>> unless that instruction was part of some other dataflow graph already. >>> >>> >>> &g...
2005 Jul 05
1
[LLVMdev] Writing a dataflow analysis
Hi I have just taken a look at the LLVM-compiler and i am trying to write a pass which analyses the dataflow and sideeffects. So far i have written my own pass which works and i can traverse the blocks, functions and instructions. Currently i am using the "runOnFunction" function and iterate over the functions and blocks. But this seems to be not optimal since the instructions
2016 Jan 21
2
Could I do some control-flow and dataflow analysis cross files and functions via IR
As mentioned in the title, I want to do some control-flow and dataflow analysis. I can only find the assignment statement in a function, but the assigned variable is just a parameter of this function. For example, **************************************** int foo(struct A* a, int b, ...){ ... a->Int_field = b; ... return 0; } ***************************************** in the code
2016 Mar 01
2
How to do some dataflow analysis via IR on a large project?
I am learning to do some basic dataflow analysis on C code projects, such as Apache httpd. Now I am a newbie of LLVM IR, and there are some problems in doing that. In the official User Manual of how to write a LLVM PASS, they only show the way to generate IR of a single ".c" source file. But in fact there are so many examples that the usage and definition of a function are not in the
2017 Jul 06
2
Dataflow analysis regression in 3.7
On Thu, Jul 6, 2017 at 7:00 AM, Davide Italiano <davide at freebsd.org> wrote: > On Wed, Jul 5, 2017 at 3:59 PM, Johan Engelen via llvm-dev > <llvm-dev at lists.llvm.org> wrote: > > Hi all, > > I just found an optimization regression regarding simple > > dataflow/constprop analysis: > > https://godbolt.org/g/Uz8P7t > > > > This code >
2013 Apr 18
2
[LLVMdev] Traditional Dataflow Algorithm
On Apr 16, 2013, at 10:27 AM, John Criswell <criswell at illinois.edu> wrote: > On 4/16/13 11:30 AM, dag at cray.com wrote: >> Is there a traditional dataflow algorithm buried in LLVM somewhere? I >> need to be able to do some very late transformations (after regalloc) >> and we aren't in SSA anymore. I will need a dataflow analysis to ensure >> correctness.
2009 Aug 13
1
[LLVMdev] Graphviz and LLVM-TV
Hi Ioannis, On Thu, 2009-08-13 at 19:31 +0100, Ioannis Nousias wrote: > Thanks Tobi for the tip. > > however I also need the Data-Flow-Graph of each basic block/functions. > As I said, I need a view of how the instructions 'link' to each other > (via registers or memory aliasing or whatnot) I believe that there is not yet a DOT printer for this kind of information.
2009 Sep 06
0
[LLVMdev] Graphviz and LLVM-TV
I've tried to write a DFGPrinter based on the CFGPrinter, as you suggested, but encountered problems. The GraphWriter expects GraphTraits<GraphType>::nodes_begin()/nodes_end(). The way this is implemented in CFG.h, a function is a graph of basic blocks. A GraphTraits<Function*> inherits from GraphTraits<BasicBlock*>, and implements those nodes_begin()/nodes_end()
2017 Jun 16
2
How does sanitizers in compiler-rt work?
Can anybody give me any pointer on how compiler-rt, especially the sanitizers work? Do they operate on IR as any other LLVM pass? Or are they integral part of the frontend itself? I couldn't spot any documentation on the internals of compiler-rt project? What happens (sequence of actions) when I pass -fsanitizer=dataflow to clang? Precisely, I intend to alter the behaviour of DFSan to suit my
2016 Mar 01
0
How to do some dataflow analysis via IR on a large project?
Dear Shulin, Sounds like you'll need an inter-procedural analysis across different source files. One option I can think of is to manually update the Makefiles, make compiler emit bitcode files, merge them with llvm-link and run it through your optimization pass as a big bitcode file. This somehow could involve huge amount of tedious work for a huge project like Apache, and may be error-prone.
2019 Nov 08
2
Register Dataflow Analysis on X86
I came across this thread from a couple years ago: http://lists.llvm.org/pipermail/llvm-dev/2017-November/119346.html Has there been any progress on RDF for X86? Or is there some other preferred alternative for performing reachability analysis after register allocation? Thanks, Scott Constable -------------- next part -------------- An HTML attachment was scrubbed... URL:
2016 May 25
1
Live interval analysis on LLVM IR (not on Machine instructions)
Hello. Thank you very much for the research paper. I will try to make use of the algorithms it presents. I just want to add that I found a 3rd party project doing dataflow analysis for LLVM IR at https://github.com/rohitjha/cse231-proj2. As written at http://cseweb.ucsd.edu/~r1jha/#five , the project's description is: "Dataflow Analysis Framework for LLVM This is an
2011 Jun 30
2
[LLVMdev] Generating DFG or CDFG from C code
Hi All, I am new to LLVM. I want to generate a Dataflow graph or Control Dataflow graph from C code using LLVM. I have no idea how to do it in LLVM. I tried to use analysis and transform passes such as "-dot-cfg" but it doesn't give what I want. I want to generate a node for each operation in C code.  Thanks in advance.JM. -------------- next part -------------- An HTML attachment
2011 Jul 01
2
[LLVMdev] Generating DFG or CDFG from C code
On Jun 30, 2011, at 10:05 PM, janarbek wrote: > > Hi All, > I am reposting my question again since i think my question was not clear enough. > I am wondering is it possible to generate Control Data Flow Graph from C using LLVM? or is it possible to get web-like structure of C code using llvm / > > Thanks in advance, > Any comment suggestion would be appreciated. > >