mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-07 12:28:24 +00:00
Improve the remark generated when a variable that is used outside the loop is not a reduction or induction variable.
Reviewed by Arnold Schwaighofer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214440 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -3590,8 +3590,8 @@ bool LoopVectorizationLegality::canVectorizeInstrs() {
|
|||||||
// identified reduction value with an outside user.
|
// identified reduction value with an outside user.
|
||||||
if (!hasOutsideLoopUser(TheLoop, it, AllowedExit))
|
if (!hasOutsideLoopUser(TheLoop, it, AllowedExit))
|
||||||
continue;
|
continue;
|
||||||
emitAnalysis(Report(it) << "value that could not be identified as "
|
emitAnalysis(Report(it) << "value could not be identified as "
|
||||||
"reduction is used outside the loop");
|
"an induction or reduction variable");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3676,7 +3676,8 @@ bool LoopVectorizationLegality::canVectorizeInstrs() {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
emitAnalysis(Report(it) << "unvectorizable operation");
|
emitAnalysis(Report(it) << "value that could not be identified as "
|
||||||
|
"reduction is used outside the loop");
|
||||||
DEBUG(dbgs() << "LV: Found an unidentified PHI."<< *Phi <<"\n");
|
DEBUG(dbgs() << "LV: Found an unidentified PHI."<< *Phi <<"\n");
|
||||||
return false;
|
return false;
|
||||||
}// end of PHI handling
|
}// end of PHI handling
|
||||||
|
@@ -1,4 +1,7 @@
|
|||||||
; RUN: opt -S -loop-vectorize -force-vector-unroll=1 -force-vector-width=2 < %s | FileCheck %s
|
; RUN: opt -S -loop-vectorize -force-vector-unroll=1 -force-vector-width=2 -pass-remarks-analysis=loop-vectorize < %s 2>&1 | FileCheck %s
|
||||||
|
|
||||||
|
; CHECK: remark: {{.*}}: loop not vectorized: value could not be identified as an induction or reduction variable
|
||||||
|
; CHECK: remark: {{.*}}: loop not vectorized: use of induction value outside of the loop is not handled by vectorizer
|
||||||
|
|
||||||
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128"
|
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128"
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user