Differential D134745 Diff 463299 llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
Show All 22 Lines | |||||
; CHECK: remark: source.cpp:12:8: loop not vectorized: vectorization and interleaving are explicitly disabled, or the loop has already been vectorized | ; CHECK: remark: source.cpp:12:8: loop not vectorized: vectorization and interleaving are explicitly disabled, or the loop has already been vectorized | ||||
; void test_array_bounds(int *A, int *B, int Length) { | ; void test_array_bounds(int *A, int *B, int Length) { | ||||
; #pragma clang loop vectorize(enable) | ; #pragma clang loop vectorize(enable) | ||||
; for (int i = 0; i < Length; i++) | ; for (int i = 0; i < Length; i++) | ||||
; A[i] = A[B[i]]; | ; A[i] = A[B[i]]; | ||||
; } | ; } | ||||
; CHECK: remark: source.cpp:19:5: loop not vectorized: cannot identify array bounds | ; CHECK: remark: source.cpp:19:5: loop not vectorized: cannot identify array bounds | ||||
; CHECK: remark: source.cpp:18:8: loop not vectorized (Force=true) | ; CHECK: remark: source.cpp:18:8: loop not vectorized (VectorizationForce=true) | ||||
; CHECK: warning: source.cpp:18:8: loop not vectorized: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering | ; CHECK: warning: source.cpp:18:8: loop not vectorized: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering | ||||
; int foo(); | ; int foo(); | ||||
; void test_multiple_failures(int *A) { | ; void test_multiple_failures(int *A) { | ||||
; int k = 0; | ; int k = 0; | ||||
; #pragma clang loop vectorize(enable) interleave(enable) | ; #pragma clang loop vectorize(enable) interleave(enable) | ||||
; for (int i = 0; i < 1000; i+=A[i]) { | ; for (int i = 0; i < 1000; i+=A[i]) { | ||||
; if (A[i]) | ; if (A[i]) | ||||
Show All 40 Lines | |||||
; YAML-NEXT: ... | ; YAML-NEXT: ... | ||||
; YAML-NEXT: --- !Missed | ; YAML-NEXT: --- !Missed | ||||
; YAML-NEXT: Pass: loop-vectorize | ; YAML-NEXT: Pass: loop-vectorize | ||||
; YAML-NEXT: Name: MissedDetails | ; YAML-NEXT: Name: MissedDetails | ||||
; YAML-NEXT: DebugLoc: { File: source.cpp, Line: 18, Column: 8 } | ; YAML-NEXT: DebugLoc: { File: source.cpp, Line: 18, Column: 8 } | ||||
; YAML-NEXT: Function: _Z17test_array_boundsPiS_i | ; YAML-NEXT: Function: _Z17test_array_boundsPiS_i | ||||
; YAML-NEXT: Args: | ; YAML-NEXT: Args: | ||||
; YAML-NEXT: - String: loop not vectorized | ; YAML-NEXT: - String: loop not vectorized | ||||
; YAML-NEXT: - String: ' (Force=' | ; YAML-NEXT: - String: ' (VectorizationForce=' | ||||
; YAML-NEXT: - Force: 'true' | ; YAML-NEXT: - VectorizationForce: 'true' | ||||
; YAML-NEXT: - String: ')' | ; YAML-NEXT: - String: ')' | ||||
; YAML-NEXT: ... | ; YAML-NEXT: ... | ||||
; YAML-NEXT: --- !Failure | ; YAML-NEXT: --- !Failure | ||||
; YAML-NEXT: Pass: transform-warning | ; YAML-NEXT: Pass: transform-warning | ||||
; YAML-NEXT: Name: FailedRequestedVectorization | ; YAML-NEXT: Name: FailedRequestedVectorization | ||||
; YAML-NEXT: DebugLoc: { File: source.cpp, Line: 18, Column: 8 } | ; YAML-NEXT: DebugLoc: { File: source.cpp, Line: 18, Column: 8 } | ||||
; YAML-NEXT: Function: _Z17test_array_boundsPiS_i | ; YAML-NEXT: Function: _Z17test_array_boundsPiS_i | ||||
; YAML-NEXT: Args: | ; YAML-NEXT: Args: | ||||
▲ Show 20 Lines • Show All 212 Lines • Show Last 20 Lines |