search for: datastructureanalysis

Displaying 8 results from an estimated 8 matches for "datastructureanalysis".

2011 Jul 06
1
[LLVMdev] Error on using DataStructureAnalysis
Hi, though DSA isn't maintained in the current build, I need to use it for analyzing dependencies among functions. Therfore I load the EQTDDataStructures pass and retrieve the mapping from nodes int the callee to the ones in the parent DSGraph with computeNodeMapping. In most cases this works well, but for some function calls I get following error: DSGraph.cpp:1379: static void
2011 Jul 07
1
[LLVMdev] Error on using DataStructureAnalysis
Hi, I am not exactly sure what causes your error. But if you have a reduced test case we can try looking at it. Thanks, Arushi Hello, i wrote a little pass. It tries to identify every call- / invoke-instruction recursively and calls computeCalleeCallerMapping for each. The sample program just creates a vector of integer and adds an element to it. Do you know what's wrong? Best,
2011 Jun 22
2
[LLVMdev] Memory dependence analysis
Hello, I'm looking for a way to identify dependencies of function-pairs (memory-dependency, control-dependency...) in order to parallelize them. For aliasing problems I use the DataStructureAnalysis. To solve simple memory- and control-dependency problems I want to use memdep. But unfortunately I even fail with following simple C++ example... int a( int n) { return n; } int b( int n) { return n; } int c( int n) { return n; } int main( int argc, char** argv) { int x = a( argc); b( 0);...
2011 Jun 22
0
[LLVMdev] Memory dependence analysis
On 6/22/11 5:34 AM, Andreas Wilhelm wrote: > Hello, > > I'm looking for a way to identify dependencies of > function-pairs (memory-dependency, control-dependency...) in order to > parallelize them. > For aliasing problems I use the DataStructureAnalysis. I'm assuming that this is the DSA analysis in the poolalloc module. Be forewarned that: 1) DSA works with LLVM 2.7; I don't believe it works with LLVM mainline yet. 2) The alias analysis interface to DSA hasn't been maintained in awhile; you'll need to examine the DSGraphs dir...
2011 Jun 24
3
[LLVMdev] Memory dependence analysis
..., John Criswell wrote: > On 6/22/11 5:34 AM, Andreas Wilhelm wrote: >> >> Hello, >> >> I'm looking for a way to identify dependencies of function-pairs (memory-dependency, control-dependency...) in order to parallelize them. >> For aliasing problems I use the DataStructureAnalysis. > > I'm assuming that this is the DSA analysis in the poolalloc module. Be forewarned that: > > 1) DSA works with LLVM 2.7; I don't believe it works with LLVM mainline yet. > 2) The alias analysis interface to DSA hasn't been maintained in awhile; you'll need to e...
2013 Mar 04
2
[LLVMdev] Unexpected DSAnalysis behavior
Hi, during the hunt for a bug causing strange behavior of our automatic parallelization framework, I found some, at least for me, unexpected behavior of the DataStructureAnalysis in Poolalloc. Consider the following simplified program: ==================== int ARR[4] = {1, 2, 3, 4}; int a(int pos) { return ARR[pos]; } int sum(int op_a, int op_b) { return a(op_a) + a(op_b); } int main(int argc, const char *argv[]) { return sum(1, 3); } ====================...
2011 Jun 24
0
[LLVMdev] Memory dependence analysis
On 6/24/11 5:20 AM, Andreas Wilhelm wrote: > > Where can I find some information about MemoryDependenceAnalysis and > DataStructureAnalysis? > It would be interesting which kinds of dependence they're able to find > and which not. I haven't used MemoryDependenceAnalysis myself, but I recommend that you read its doxygen documentation: http://llvm.org/doxygen/classllvm_1_1MemoryDependenceAnalysis.html. For DSA, you wil...
2013 Mar 04
0
[LLVMdev] Unexpected DSAnalysis behavior
On 3/4/13 8:05 AM, Kevin Streit wrote: > Hi, > > during the hunt for a bug causing strange behavior of our automatic > parallelization framework, > I found some, at least for me, unexpected behavior of the > DataStructureAnalysis in Poolalloc. > > Consider the following simplified program: > > ==================== > int ARR[4] = {1, 2, 3, 4}; > > int a(int pos) { > return ARR[pos]; > } > > int sum(int op_a, int op_b) { > return a(op_a) + a(op_b); > } > > int main(int argc...