summaryrefslogtreecommitdiffstats
path: root/polly/test/Simplify/redundant_differentindex.ll
diff options
context:
space:
mode:
authorMichael Kruse <llvm@meinersbur.de>2017-08-01 20:01:34 +0000
committerMichael Kruse <llvm@meinersbur.de>2017-08-01 20:01:34 +0000
commitbc88a78cb453808ecc0b13c25dae93d2ddcebd7f (patch)
tree498926acacc5a7531e1b02ac98092e398fa3b942 /polly/test/Simplify/redundant_differentindex.ll
parenta5fcb83bfa18ac02ae30465efb83782988b557d1 (diff)
downloadbcm5719-llvm-bc88a78cb453808ecc0b13c25dae93d2ddcebd7f.tar.gz
bcm5719-llvm-bc88a78cb453808ecc0b13c25dae93d2ddcebd7f.zip
[Simplify] Rewrite redundant write detection algorithm.
The previous algorithm was to search a writes and the sours of its value operand, and see whether the write just stores the same read value back, which includes a search whether there is another write access between them. This is O(n^2) in the max number of accesses in a statement (+ the complexity of isl comparing the access functions). The new algorithm is more similar to the one used for searching for overwrites and coalescable writes. It scans over all accesses in order of execution while tracking which array elements still have the same value since it was read. This is O(n), not counting the complexity within isl. It should be more reliable than trying to catch all non-conforming cases in the previous approach. It is also less code. We now also support if the write is a partial write of the read's domain, and to some extent non-affine subregions. Differential Revision: https://reviews.llvm.org/D36137 llvm-svn: 309734
Diffstat (limited to 'polly/test/Simplify/redundant_differentindex.ll')
-rw-r--r--polly/test/Simplify/redundant_differentindex.ll4
1 files changed, 0 insertions, 4 deletions
diff --git a/polly/test/Simplify/redundant_differentindex.ll b/polly/test/Simplify/redundant_differentindex.ll
index d460f85a09d..3a5e07334cb 100644
--- a/polly/test/Simplify/redundant_differentindex.ll
+++ b/polly/test/Simplify/redundant_differentindex.ll
@@ -1,6 +1,4 @@
; RUN: opt %loadPolly -polly-simplify -analyze < %s | FileCheck %s -match-full-lines
-; RUN: opt %loadPolly -polly-simplify -disable-output -stats < %s 2>&1 | FileCheck %s --check-prefix=STATS -match-full-lines
-; REQUIRES: asserts
;
; A store that has a different index than the load it is storing is
; not redundant.
@@ -36,5 +34,3 @@ return:
; CHECK: SCoP could not be simplified
-
-; STATS: 1 polly-simplify - Number of Load-Store pairs NOT removed because of different access relations
OpenPOWER on IntegriCloud