[polly] r252847 - Emit remark about aliasing pointers
Johannes Doerfert via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 11 18:32:51 PST 2015
Author: jdoerfert
Date: Wed Nov 11 20:32:51 2015
New Revision: 252847
URL: http://llvm.org/viewvc/llvm-project?rev=252847&view=rev
Log:
Emit remark about aliasing pointers
Modified:
polly/trunk/lib/Analysis/ScopInfo.cpp
polly/trunk/test/ScopInfo/remarks.ll
Modified: polly/trunk/lib/Analysis/ScopInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Analysis/ScopInfo.cpp?rev=252847&r1=252846&r2=252847&view=diff
==============================================================================
--- polly/trunk/lib/Analysis/ScopInfo.cpp (original)
+++ polly/trunk/lib/Analysis/ScopInfo.cpp Wed Nov 11 20:32:51 2015
@@ -2381,6 +2381,7 @@ bool Scop::buildAliasGroups(AliasAnalysi
isl_set_free(AGDomain);
}
+ auto &F = *getRegion().getEntry()->getParent();
MapVector<const Value *, SmallPtrSet<MemoryAccess *, 8>> ReadOnlyPairs;
SmallPtrSet<const Value *, 4> NonReadOnlyBaseValues;
for (AliasGroupTy &AG : AliasGroups) {
@@ -2393,6 +2394,11 @@ bool Scop::buildAliasGroups(AliasAnalysi
}
for (auto II = AG.begin(); II != AG.end();) {
+ emitOptimizationRemarkAnalysis(
+ F.getContext(), DEBUG_TYPE, F,
+ (*II)->getAccessInstruction()->getDebugLoc(),
+ "Possibly aliasing pointer, use restrict keyword.");
+
Value *BaseAddr = (*II)->getBaseAddr();
if (HasWriteAccess.count(BaseAddr)) {
NonReadOnlyBaseValues.insert(BaseAddr);
Modified: polly/trunk/test/ScopInfo/remarks.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/remarks.ll?rev=252847&r1=252846&r2=252847&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/remarks.ll (original)
+++ polly/trunk/test/ScopInfo/remarks.ll Wed Nov 11 20:32:51 2015
@@ -1,6 +1,9 @@
; RUN: opt %loadPolly -pass-remarks-analysis="polly-scops" -polly-scops < %s 2>&1| FileCheck %s
;
; CHECK: remark: test/ScopInfo/remarks.c:4:7: SCoP begins here.
+; CHECK: remark: test/ScopInfo/remarks.c:9:18: Possibly aliasing pointer, use restrict keyword.
+; CHECK: remark: test/ScopInfo/remarks.c:9:33: Possibly aliasing pointer, use restrict keyword.
+; CHECK: remark: test/ScopInfo/remarks.c:9:15: Possibly aliasing pointer, use restrict keyword.
; CHECK: remark: test/ScopInfo/remarks.c:14:3: SCoP ends here.
; CHECK: remark: test/ScopInfo/remarks.c:19:3: SCoP begins here.
; CHECK: remark: test/ScopInfo/remarks.c:22:16: SCoP ends here but was dismissed.
More information about the llvm-commits
mailing list