1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00

[test, LoopVectorize] Fix use of var defined in CHECK-NOT

LLVM test Transforms/LoopVectorize/pr34681.ll tries to check for the
absence of a sequence of instructions with several CHECK-NOT with one of
those directives using a variable defined in another. However CHECK-NOT
are checked independently so that is using a variable defined in a
pattern that should not occur in the input.

This commit only checks for the absence of icmp ne 1 which rules out the
presence of the whole sequence and does not involve an undefined
variable.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D99582
This commit is contained in:
Thomas Preud'homme 2021-03-28 00:03:37 +00:00
parent adfec6bbd2
commit affcad8b86

View File

@ -23,8 +23,8 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
; CHECK-LABEL: @foo1
; CHECK: for.body.lr.ph
; CHECK-NOT: %ident.check = icmp ne i32 %N, 1
; CHECK-NOT: %[[TEST:[0-9]+]] = or i1 false, %ident.check
; CHECK-NOT: br i1 %[[TEST]], label %scalar.ph, label %vector.ph
; CHECK-NOT: %{{[0-9]+}} = or i1 false, %ident.check
; CHECK-NOT: br i1 %{{[0-9]+}}, label %scalar.ph, label %vector.ph
; CHECK: vector.ph
; CHECK: vector.body
; CHECK: <4 x i32>
@ -82,8 +82,8 @@ for.end:
; CHECK-LABEL: @foo2
; CHECK: for.body.lr.ph
; CHECK-NOT: %ident.check = icmp ne i16 %N, 1
; CHECK-NOT: %[[TEST:[0-9]+]] = or i1 false, %ident.check
; CHECK-NOT: br i1 %[[TEST]], label %scalar.ph, label %vector.ph
; CHECK-NOT: %{{[0-9]+}} = or i1 false, %ident.check
; CHECK-NOT: br i1 %{{[0-9]+}}, label %scalar.ph, label %vector.ph
; CHECK: vector.ph
; CHECK: vector.body
; CHECK: <4 x i32>