search for: move_one

Displaying 3 results from an estimated 3 matches for "move_one".

2017 Jun 21
2
A bug in DependenceAnalysis?
Hello llvm-dev, I'm running a pass that uses the result of llvm::DependenceAnalysisWrapperPass to compute the dependencies between all instructions of a loop. I have the following two examples of code I wish to analyse: example A: ``` void move_one(int *A, unsigned n) { for (unsigned i = 0; i < n-1; ++i) { A[i] = A[i + 1]; } } ``` and example B: ``` void move_one_alt(int *A, unsigned n) { int *B = A + 1; for (unsigned i = 0; i < n-1; ++i) { A[i] = B[i]; } } ``` I would expect that I get the same result for both A and...
2017 Jun 21
2
A bug in DependenceAnalysis?
...>> I'm running a pass that uses the result of llvm::DependenceAnalysisWrapperPass >> to compute the dependencies between all instructions of a loop. I have the >> following two examples of code I wish to analyse: >> >> example A: >> >> ``` >> void move_one(int *A, unsigned n) { >> for (unsigned i = 0; i < n-1; ++i) { >> A[i] = A[i + 1]; >> } >> } >> ``` >> and example B: >> ``` >> void move_one_alt(int *A, unsigned n) { >> int *B = A + 1; >> for (unsigned i = 0; i < n-1; ++...
2017 Jun 22
2
A bug in DependenceAnalysis?
..., loop-independent dependence and an inconsistent, ordered, flow, loop-carried dependence for example A. At the same time I get just a consistent, ordered, anti, loop-independent dependence for example B. Here's the .ll code for example A: *; Function Attrs: nounwind uwtable* *define void @_Z8move_onePij(i32*, i32) #3 {* * br label %3* *; <label>:3: ; preds = %13, %2* * %.0 = phi i32 [ 0, %2 ], [ %14, %13 ]* * %4 = sub i32 %1, 1* * %5 = icmp ult i32 %.0, %4* * br i1 %5, label %6, label %15* *; <label>:6:...