search for: isconfused

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

Did you mean: confused
2013 Aug 09
0
[LLVMdev] How to gather data dependences
...gt;::iterator it = instructions.begin(); it != instructions.end(); it++) { Dependence *dep = DA.depends(&*I,*it,false); if( dep == NULL ) { //errs() << " no dependence." << '\n'; } else if( dep->isConfused() == true ) { if( dep->isInput() ) { errs() << '\t' << **it << " input dependence." << '\n'; } else if( dep->isOutput() ) { errs() << '\t' &l...
2013 Aug 08
2
[LLVMdev] How to gather data dependences
Valmico <valmico88 at gmail.com> wrote: > I'm currently trying to develop new LLVM Pass that will generate > simple data dependencies graph. For now I'm trying to get familiar > with DependenceAnalysis. > My general idea is to traverse each function (runOnFunction) > top to bottom Instruction by Instruction, using DA.depends( I, I2, ...) > on every Instructions
2012 Nov 09
1
[LLVMdev] Loop carried dependence analysis?
...ass will find loop-carried dependences. However, it is a conservative analysis and will sometimes suggest there may be more dependences than actually exist. In your example, I expect the analysis is confused for some reason and is returning the default confused response. You could test it using the isConfused() method. Note that the DVEntry::ALL direction is always valid. A distance of NULL is similarly valid; it merely indicates that the analysis couldn't figure out a fixed distance (or perhaps one doesn't exit). In your example, there's certainly a dependence from the load to the store. I...
2013 Aug 09
2
[LLVMdev] How to gather data dependences
...nstructions.begin(); it != instructions.end(); it++) { > Dependence *dep = DA.depends(&*I,*it,false); > if( dep == NULL ) { > //errs() << " no dependence." << '\n'; > } else if( dep->isConfused() == true ) { > if( dep->isInput() ) { > errs() << '\t' << **it << " input dependence." << '\n'; > } else if( dep->isOutput() ) { > errs() <...
2012 Apr 01
0
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
...tor; const_iterator begin() const { return levels.begin(); } const_iterator end() const { return levels.end(); } private: Value *source, *destination; Kind kind; SmallVector<const Level *, 4> levels; friend class LoopDependenceAnalysis; }; More methods, like `isConsistent` and `isConfused` can be added easily to this interface, since the raw data required to compute them is available. Given two Values, then, we can first break them up into their respective indices. We can then order them based on their loop nesting. To actually compute the dependence, we can traverse down the sub...
2012 Mar 29
2
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
Hi Sanjoy & Hal, Looking at LoopDependenceAnalysis::analyzeZIV ... I don't understand much about SCEV, but the code seems inadequate. Consider these three examples: int a = ...; // we can't be sure of the relationship between a and b int b = ...; // perhaps they are parameters, or the result of I/O for (int i = 0; i < n; i++) { v[a][i] = ...; v[a + 1][i] = ...; } for (int i
2017 Aug 03
2
Dependence analysis - missing loop-carried dependencies?
...::unique_ptr<Dependence> infoPtr; infoPtr = depinfo->depends(&*I, &*J, true); Dependence *dep = infoPtr.get(); if (dep != NULL && !dep->isInput()) { if (!dep->isLoopIndependent()) errs() << "[L]"; if (dep->isConfused()) errs() << "[C]"; dep->getDst()->print(errs(), false); errs() << " ---> "; dep->getSrc()->print(errs(), false); errs() << "\n"; } } } return false; } void getAnalysi...
2012 Apr 03
1
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
...e *source, *destination; >  Kind kind; >  SmallVector<const Level *, 4> levels; I'd malloc an ordinary vector of the appropriate length, since we know the length at allocation time. >  friend class LoopDependenceAnalysis; > }; > > More methods, like `isConsistent` and `isConfused` can be added easily > to this interface, since the raw data required to compute them is > available. You'll also need flags for loop-independent, consistent, and confused. I thought earlier that the latter two could be computed, but I was wrong. Can't compute them when the source or...