[polly] r264575 - Add fine-grain dependences analysis to release notes.

Hongbin Zheng via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 28 05:41:49 PDT 2016


Author: ether
Date: Mon Mar 28 07:41:49 2016
New Revision: 264575

URL: http://llvm.org/viewvc/llvm-project?rev=264575&view=rev
Log:
Add fine-grain dependences analysis to release notes.

Differential Revision: http://reviews.llvm.org/D17905

Modified:
    polly/trunk/docs/ReleaseNotes.rst
    polly/trunk/lib/Analysis/DependenceInfo.cpp
    polly/trunk/test/DependenceInfo/fine_grain_dep_0.ll
    polly/trunk/test/DependenceInfo/reduction_complex_location.ll
    polly/trunk/test/DependenceInfo/reduction_multiple_loops_array_sum.ll
    polly/trunk/test/DependenceInfo/sequential_loops.ll

Modified: polly/trunk/docs/ReleaseNotes.rst
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/docs/ReleaseNotes.rst?rev=264575&r1=264574&r2=264575&view=diff
==============================================================================
--- polly/trunk/docs/ReleaseNotes.rst (original)
+++ polly/trunk/docs/ReleaseNotes.rst Mon Mar 28 07:41:49 2016
@@ -70,6 +70,17 @@ known only to read memory, read memory a
 access only memory accessible through pointer arguments. See also the function
 attributes ``readonly`` and ``argmemonly`` for more information.
 
+Fine-grain dependences analysis
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In addition of the ScopStmt wise dependences analysis, now the "polly-dependence"
+pass provides dependences analysis at memory reference wise and memory access wise.
+The memory reference wise analysis distinguishes the accessed references in the
+same statement, and generates dependences relationships between (statement, reference)
+pairs. The memory access wise analysis distinguishes accesses in the same statement,
+and generates dependences relationships between (statement, access) pairs. These
+fine-grain dependences are enabled by "-polly-dependences-analysis-level=reference-wise"
+and "-polly-dependences-analysis-level=access-wise", respectively.
 
 Update of the isl math library
 ------------------------------

Modified: polly/trunk/lib/Analysis/DependenceInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Analysis/DependenceInfo.cpp?rev=264575&r1=264574&r2=264575&view=diff
==============================================================================
--- polly/trunk/lib/Analysis/DependenceInfo.cpp (original)
+++ polly/trunk/lib/Analysis/DependenceInfo.cpp Mon Mar 28 07:41:49 2016
@@ -73,12 +73,12 @@ static cl::opt<enum AnalysisType> OptAna
 static cl::opt<Dependences::AnalyisLevel> OptAnalysisLevel(
     "polly-dependences-analysis-level",
     cl::desc("The level of dependence analysis"),
-    cl::values(clEnumValN(Dependences::AL_Statement, "statement-level",
+    cl::values(clEnumValN(Dependences::AL_Statement, "statement-wise",
                           "Statement-level analysis"),
-               clEnumValN(Dependences::AL_Reference, "reference-level",
+               clEnumValN(Dependences::AL_Reference, "reference-wise",
                           "Memory reference level analysis that distinguish"
                           " accessed references in the same statement"),
-               clEnumValN(Dependences::AL_Access, "access-level",
+               clEnumValN(Dependences::AL_Access, "access-wise",
                           "Memory reference level analysis that distinguish"
                           " access instructions in the same statement"),
                clEnumValEnd),

Modified: polly/trunk/test/DependenceInfo/fine_grain_dep_0.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/DependenceInfo/fine_grain_dep_0.ll?rev=264575&r1=264574&r2=264575&view=diff
==============================================================================
--- polly/trunk/test/DependenceInfo/fine_grain_dep_0.ll (original)
+++ polly/trunk/test/DependenceInfo/fine_grain_dep_0.ll Mon Mar 28 07:41:49 2016
@@ -1,5 +1,5 @@
-; RUN: opt %loadPolly -polly-dependences -polly-dependences-analysis-type=value-based -polly-dependences-analysis-level=reference-level -analyze < %s | FileCheck %s --check-prefix=REF
-; RUN: opt %loadPolly -polly-dependences -polly-dependences-analysis-type=value-based -polly-dependences-analysis-level=access-level -analyze < %s | FileCheck %s --check-prefix=ACC
+; RUN: opt %loadPolly -polly-dependences -polly-dependences-analysis-type=value-based -polly-dependences-analysis-level=reference-wise -analyze < %s | FileCheck %s --check-prefix=REF
+; RUN: opt %loadPolly -polly-dependences -polly-dependences-analysis-type=value-based -polly-dependences-analysis-level=access-wise -analyze < %s | FileCheck %s --check-prefix=ACC
 ;
 ; REF:      RAW dependences:
 ; REF-NEXT:     [N] -> { [Stmt_for_body[i0] -> MemRef_a[]] -> [Stmt_for_body[4 + i0] -> MemRef_a[]] : 0 <= i0 <= -11 + N; [Stmt_for_body[i0] -> MemRef_b[]] -> [Stmt_for_body[6 + i0] -> MemRef_b[]] : 0 <= i0 <= -13 + N; Stmt_for_body[i0] -> Stmt_for_body[6 + i0] : 0 <= i0 <= -13 + N; Stmt_for_body[i0] -> Stmt_for_body[4 + i0] : 0 <= i0 <= -11 + N }

Modified: polly/trunk/test/DependenceInfo/reduction_complex_location.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/DependenceInfo/reduction_complex_location.ll?rev=264575&r1=264574&r2=264575&view=diff
==============================================================================
--- polly/trunk/test/DependenceInfo/reduction_complex_location.ll (original)
+++ polly/trunk/test/DependenceInfo/reduction_complex_location.ll Mon Mar 28 07:41:49 2016
@@ -1,6 +1,6 @@
 ; RUN: opt %loadPolly -polly-dependences -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-dependences -polly-dependences-analysis-level=reference-level -analyze < %s | FileCheck %s
-; RUN: opt %loadPolly -polly-dependences -polly-dependences-analysis-level=access-level -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-dependences -polly-dependences-analysis-level=reference-wise -analyze < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-dependences -polly-dependences-analysis-level=access-wise -analyze < %s | FileCheck %s
 ;
 ; CHECK:      RAW dependences:
 ; CHECK-NEXT:     {  }

Modified: polly/trunk/test/DependenceInfo/reduction_multiple_loops_array_sum.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/DependenceInfo/reduction_multiple_loops_array_sum.ll?rev=264575&r1=264574&r2=264575&view=diff
==============================================================================
--- polly/trunk/test/DependenceInfo/reduction_multiple_loops_array_sum.ll (original)
+++ polly/trunk/test/DependenceInfo/reduction_multiple_loops_array_sum.ll Mon Mar 28 07:41:49 2016
@@ -1,6 +1,6 @@
 ; RUN: opt -basicaa %loadPolly -polly-dependences -analyze < %s | FileCheck %s
-; RUN: opt -basicaa %loadPolly -polly-dependences -polly-dependences-analysis-level=reference-level -analyze < %s | FileCheck %s
-; RUN: opt -basicaa %loadPolly -polly-dependences -polly-dependences-analysis-level=access-level -analyze < %s | FileCheck %s
+; RUN: opt -basicaa %loadPolly -polly-dependences -polly-dependences-analysis-level=reference-wise -analyze < %s | FileCheck %s
+; RUN: opt -basicaa %loadPolly -polly-dependences -polly-dependences-analysis-level=access-wise -analyze < %s | FileCheck %s
 ;
 ; Verify that only the inner reduction like accesses cause reduction dependences
 ;

Modified: polly/trunk/test/DependenceInfo/sequential_loops.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/DependenceInfo/sequential_loops.ll?rev=264575&r1=264574&r2=264575&view=diff
==============================================================================
--- polly/trunk/test/DependenceInfo/sequential_loops.ll (original)
+++ polly/trunk/test/DependenceInfo/sequential_loops.ll Mon Mar 28 07:41:49 2016
@@ -1,6 +1,6 @@
 ; RUN: opt -S %loadPolly -basicaa -polly-dependences -analyze -polly-dependences-analysis-type=value-based < %s | FileCheck %s -check-prefix=VALUE
 ; RUN: opt -S %loadPolly -basicaa -polly-dependences -analyze -polly-dependences-analysis-type=memory-based < %s | FileCheck %s -check-prefix=MEMORY
-; RUN: opt -S %loadPolly -basicaa -polly-dependences -analyze -polly-dependences-analysis-type=value-based -polly-dependences-analysis-level=access-level < %s | FileCheck %s -check-prefix=VALUE_ACCESS
+; RUN: opt -S %loadPolly -basicaa -polly-dependences -analyze -polly-dependences-analysis-type=value-based -polly-dependences-analysis-level=access-wise < %s | FileCheck %s -check-prefix=VALUE_ACCESS
 
 ; VALUE-LABEL: Printing analysis 'Polly - Calculate dependences' for region: 'S1 => exit.3' in function 'sequential_writes':
 ; VALUE-NEXT:      RAW dependences:




More information about the llvm-commits mailing list