[llvm-branch-commits] [llvm-branch] r292503 - Merging r292254 and r292280:
Hans Wennborg via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Jan 19 10:35:20 PST 2017
Author: hans
Date: Thu Jan 19 12:35:20 2017
New Revision: 292503
URL: http://llvm.org/viewvc/llvm-project?rev=292503&view=rev
Log:
Merging r292254 and r292280:
------------------------------------------------------------------------
r292254 | mssimpso | 2017-01-17 12:51:39 -0800 (Tue, 17 Jan 2017) | 8 lines
[LV] Mark non-consecutive-like pointers non-uniform
If a memory instruction will be vectorized, but it's pointer operand is
non-consecutive-like, the instruction is a gather or scatter operation. Its
pointer operand will be non-uniform. This should fix PR31671.
Reference: https://llvm.org/bugs/show_bug.cgi?id=31671
Differential Revision: https://reviews.llvm.org/D28819
------------------------------------------------------------------------
------------------------------------------------------------------------
r292280 | mssimpso | 2017-01-17 14:21:33 -0800 (Tue, 17 Jan 2017) | 1 line
[LV] Add requires asserts to test case
------------------------------------------------------------------------
Added:
llvm/branches/release_40/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
- copied, changed from r292254, llvm/trunk/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
Modified:
llvm/branches/release_40/ (props changed)
llvm/branches/release_40/lib/Transforms/Vectorize/LoopVectorize.cpp
Propchange: llvm/branches/release_40/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan 19 12:35:20 2017
@@ -1,3 +1,3 @@
/llvm/branches/Apple/Pertwee:110850,110961
/llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:155241,291863,291875,291966,291968,291979,292133,292242,292255
+/llvm/trunk:155241,291863,291875,291966,291968,291979,292133,292242,292254-292255,292280
Modified: llvm/branches/release_40/lib/Transforms/Vectorize/LoopVectorize.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_40/lib/Transforms/Vectorize/LoopVectorize.cpp?rev=292503&r1=292502&r2=292503&view=diff
==============================================================================
--- llvm/branches/release_40/lib/Transforms/Vectorize/LoopVectorize.cpp (original)
+++ llvm/branches/release_40/lib/Transforms/Vectorize/LoopVectorize.cpp Thu Jan 19 12:35:20 2017
@@ -5602,6 +5602,13 @@ void LoopVectorizationLegality::collectL
// is consecutive-like, the pointer operand should remain uniform.
else if (hasConsecutiveLikePtrOperand(&I))
ConsecutiveLikePtrs.insert(Ptr);
+
+ // Otherwise, if the memory instruction will be vectorized and its
+ // pointer operand is non-consecutive-like, the memory instruction should
+ // be a gather or scatter operation. Its pointer operand will be
+ // non-uniform.
+ else
+ PossibleNonUniformPtrs.insert(Ptr);
}
// Add to the Worklist all consecutive and consecutive-like pointers that
Copied: llvm/branches/release_40/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll (from r292254, llvm/trunk/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll)
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_40/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll?p2=llvm/branches/release_40/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll&p1=llvm/trunk/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll&r1=292254&r2=292503&rev=292503&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll (original)
+++ llvm/branches/release_40/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll Thu Jan 19 12:35:20 2017
@@ -1,3 +1,4 @@
+; REQUIRES: asserts
; RUN: opt < %s -loop-vectorize -instcombine -S -debug-only=loop-vectorize -disable-output -print-after=instcombine 2>&1 | FileCheck %s
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
More information about the llvm-branch-commits
mailing list