Index: lib/Transforms/Vectorize/LoopVectorize.cpp =================================================================== --- lib/Transforms/Vectorize/LoopVectorize.cpp +++ lib/Transforms/Vectorize/LoopVectorize.cpp @@ -213,6 +213,10 @@ cl::desc("The maximum number of SCEV checks allowed with a " "vectorize(enable) pragma")); +static cl::opt IgnoreTargetInfo( + "loop-vectorize-ignore-target-info", cl::init(false), cl::Hidden, + cl::desc("Ignore target information during loop vectorization")); + /// Create an analysis remark that explains why vectorization failed /// /// \p PassName is the name of the pass (e.g. can be AlwaysPrint). \p @@ -2073,7 +2077,6 @@ auto *SE = &getAnalysis().getSE(); auto *LI = &getAnalysis().getLoopInfo(); - auto *TTI = &getAnalysis().getTTI(F); auto *DT = &getAnalysis().getDomTree(); auto *BFI = &getAnalysis().getBFI(); auto *TLIP = getAnalysisIfAvailable(); @@ -2084,6 +2087,15 @@ auto *DB = &getAnalysis().getDemandedBits(); auto *ORE = &getAnalysis().getORE(); + // Use a minimal TTI implementation if we are ignoring target information. + // This is useful for testing to ensure consistent results across targets. + TargetTransformInfo *TTI = nullptr; + TargetTransformInfo TTIImpl(F.getParent()->getDataLayout()); + if (!IgnoreTargetInfo) + TTIImpl = + std::move(getAnalysis().getTTI(F)); + TTI = &TTIImpl; + std::function GetLAA = [&](Loop &L) -> const LoopAccessInfo & { return LAA->getInfo(&L); }; Index: test/Transforms/LoopVectorize/12-12-11-if-conv.ll =================================================================== --- test/Transforms/LoopVectorize/12-12-11-if-conv.ll +++ test/Transforms/LoopVectorize/12-12-11-if-conv.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -enable-if-conversion -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -enable-if-conversion -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/2012-10-20-infloop.ll =================================================================== --- test/Transforms/LoopVectorize/2012-10-20-infloop.ll +++ test/Transforms/LoopVectorize/2012-10-20-infloop.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce ; Check that we don't fall into an infinite loop. define void @test() nounwind { Index: test/Transforms/LoopVectorize/2012-10-22-isconsec.ll =================================================================== --- test/Transforms/LoopVectorize/2012-10-22-isconsec.ll +++ test/Transforms/LoopVectorize/2012-10-22-isconsec.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -dce -force-vector-interleave=1 -force-vector-width=4 +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -dce -force-vector-interleave=1 -force-vector-width=4 ; Check that we don't crash. Index: test/Transforms/LoopVectorize/2016-07-27-loop-vec.ll =================================================================== --- test/Transforms/LoopVectorize/2016-07-27-loop-vec.ll +++ test/Transforms/LoopVectorize/2016-07-27-loop-vec.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -S +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -S define void @foo() local_unnamed_addr { entry: Index: test/Transforms/LoopVectorize/align.ll =================================================================== --- test/Transforms/LoopVectorize/align.ll +++ test/Transforms/LoopVectorize/align.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/bsd_regex.ll =================================================================== --- test/Transforms/LoopVectorize/bsd_regex.ll +++ test/Transforms/LoopVectorize/bsd_regex.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -dce -instcombine -force-vector-width=2 -force-vector-interleave=2 < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -dce -instcombine -force-vector-width=2 -force-vector-interleave=2 < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/bzip_reverse_loops.ll =================================================================== --- test/Transforms/LoopVectorize/bzip_reverse_loops.ll +++ test/Transforms/LoopVectorize/bzip_reverse_loops.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S -enable-if-conversion | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S -enable-if-conversion | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/calloc.ll =================================================================== --- test/Transforms/LoopVectorize/calloc.ll +++ test/Transforms/LoopVectorize/calloc.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -basicaa -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -basicaa -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/cast-induction.ll =================================================================== --- test/Transforms/LoopVectorize/cast-induction.ll +++ test/Transforms/LoopVectorize/cast-induction.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s ; rdar://problem/12848162 Index: test/Transforms/LoopVectorize/conditional-assignment.ll =================================================================== --- test/Transforms/LoopVectorize/conditional-assignment.ll +++ test/Transforms/LoopVectorize/conditional-assignment.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -S -pass-remarks-missed='loop-vectorize' -pass-remarks-analysis='loop-vectorize' 2>&1 | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -S -pass-remarks-missed='loop-vectorize' -pass-remarks-analysis='loop-vectorize' 2>&1 | FileCheck %s ; RUN: opt < %s -passes=loop-vectorize -S -pass-remarks-missed='loop-vectorize' -pass-remarks-analysis='loop-vectorize' 2>&1 | FileCheck %s ; CHECK: remark: source.c:2:8: loop not vectorized: store that is conditionally executed prevents vectorization Index: test/Transforms/LoopVectorize/consec_no_gep.ll =================================================================== --- test/Transforms/LoopVectorize/consec_no_gep.ll +++ test/Transforms/LoopVectorize/consec_no_gep.ll @@ -1,4 +1,4 @@ -;RUN: opt < %s -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -instcombine -S | FileCheck %s +;RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -instcombine -S | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll =================================================================== --- test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll +++ test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll @@ -1,6 +1,6 @@ ; REQUIRES: asserts -; RUN: opt < %s -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -instcombine -debug-only=loop-vectorize -disable-output -print-after=instcombine 2>&1 | FileCheck %s -; RUN: opt < %s -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -enable-interleaved-mem-accesses -enable-cond-stores-vec -instcombine -debug-only=loop-vectorize -disable-output -print-after=instcombine 2>&1 | FileCheck %s --check-prefix=INTER +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -instcombine -debug-only=loop-vectorize -disable-output -print-after=instcombine 2>&1 | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -enable-interleaved-mem-accesses -enable-cond-stores-vec -instcombine -debug-only=loop-vectorize -disable-output -print-after=instcombine 2>&1 | FileCheck %s --check-prefix=INTER target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128" Index: test/Transforms/LoopVectorize/control-flow.ll =================================================================== --- test/Transforms/LoopVectorize/control-flow.ll +++ test/Transforms/LoopVectorize/control-flow.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-width=4 -S -pass-remarks-missed='loop-vectorize' 2>&1 | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -S -pass-remarks-missed='loop-vectorize' 2>&1 | FileCheck %s ; C/C++ code for control flow test ; int test(int *A, int Length) { Index: test/Transforms/LoopVectorize/cpp-new-array.ll =================================================================== --- test/Transforms/LoopVectorize/cpp-new-array.ll +++ test/Transforms/LoopVectorize/cpp-new-array.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/dbg.value.ll =================================================================== --- test/Transforms/LoopVectorize/dbg.value.ll +++ test/Transforms/LoopVectorize/dbg.value.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -S -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine | FileCheck %s +; RUN: opt < %s -S -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine | FileCheck %s ; Make sure we vectorize with debugging turned on. target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/dead_instructions.ll =================================================================== --- test/Transforms/LoopVectorize/dead_instructions.ll +++ test/Transforms/LoopVectorize/dead_instructions.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -force-vector-width=2 -force-vector-interleave=2 -loop-vectorize -S | FileCheck %s +; RUN: opt < %s -force-vector-width=2 -force-vector-interleave=2 -loop-vectorize-ignore-target-info -loop-vectorize -S | FileCheck %s target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128" Index: test/Transforms/LoopVectorize/debugloc.ll =================================================================== --- test/Transforms/LoopVectorize/debugloc.ll +++ test/Transforms/LoopVectorize/debugloc.ll @@ -1,4 +1,4 @@ -; RUN: opt -S < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=2 | FileCheck %s +; RUN: opt -S < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=2 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/diag-missing-instr-debug-loc.ll =================================================================== --- test/Transforms/LoopVectorize/diag-missing-instr-debug-loc.ll +++ test/Transforms/LoopVectorize/diag-missing-instr-debug-loc.ll @@ -1,4 +1,4 @@ -; RUN: opt -loop-vectorize -pass-remarks-analysis=loop-vectorize < %s 2>&1 | FileCheck %s +; RUN: opt -loop-vectorize-ignore-target-info -loop-vectorize -pass-remarks-analysis=loop-vectorize < %s 2>&1 | FileCheck %s ; 1 extern int map[]; ; 2 extern int out[]; Index: test/Transforms/LoopVectorize/diag-with-hotness-info-2.ll =================================================================== --- test/Transforms/LoopVectorize/diag-with-hotness-info-2.ll +++ test/Transforms/LoopVectorize/diag-with-hotness-info-2.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -pass-remarks-analysis=loop-vectorize -pass-remarks-with-hotness < %s 2>&1 | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -pass-remarks-analysis=loop-vectorize -pass-remarks-with-hotness < %s 2>&1 | FileCheck %s ; RUN: opt -S -passes=loop-vectorize -pass-remarks-analysis=loop-vectorize -pass-remarks-with-hotness < %s 2>&1 | FileCheck %s ; 1 void cold(char *A, char *B, char *C, char *D, char *E, int N) { Index: test/Transforms/LoopVectorize/diag-with-hotness-info.ll =================================================================== --- test/Transforms/LoopVectorize/diag-with-hotness-info.ll +++ test/Transforms/LoopVectorize/diag-with-hotness-info.ll @@ -1,8 +1,8 @@ -; RUN: opt -S -loop-vectorize -pass-remarks-missed=loop-vectorize \ +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -pass-remarks-missed=loop-vectorize \ ; RUN: -pass-remarks-with-hotness < %s 2>&1 | \ ; RUN: FileCheck -check-prefix=HOTNESS -check-prefix=BOTH %s -; RUN: opt -S -loop-vectorize -pass-remarks-missed=loop-vectorize < %s 2>&1 | \ +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -pass-remarks-missed=loop-vectorize < %s 2>&1 | \ ; RUN: FileCheck -check-prefix=NO_HOTNESS -check-prefix=BOTH %s Index: test/Transforms/LoopVectorize/duplicated-metadata.ll =================================================================== --- test/Transforms/LoopVectorize/duplicated-metadata.ll +++ test/Transforms/LoopVectorize/duplicated-metadata.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -S 2>&1 | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -S 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; This test makes sure we don't duplicate the loop vectorizer's metadata Index: test/Transforms/LoopVectorize/ee-crash.ll =================================================================== --- test/Transforms/LoopVectorize/ee-crash.ll +++ test/Transforms/LoopVectorize/ee-crash.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/exact.ll =================================================================== --- test/Transforms/LoopVectorize/exact.ll +++ test/Transforms/LoopVectorize/exact.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-width=4 -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -S | FileCheck %s target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/flags.ll =================================================================== --- test/Transforms/LoopVectorize/flags.ll +++ test/Transforms/LoopVectorize/flags.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/float-induction.ll =================================================================== --- test/Transforms/LoopVectorize/float-induction.ll +++ test/Transforms/LoopVectorize/float-induction.ll @@ -1,6 +1,6 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck --check-prefix VEC4_INTERL1 %s -; RUN: opt < %s -loop-vectorize -force-vector-interleave=2 -force-vector-width=4 -dce -instcombine -S | FileCheck --check-prefix VEC4_INTERL2 %s -; RUN: opt < %s -loop-vectorize -force-vector-interleave=2 -force-vector-width=1 -dce -instcombine -S | FileCheck --check-prefix VEC1_INTERL2 %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck --check-prefix VEC4_INTERL1 %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=2 -force-vector-width=4 -dce -instcombine -S | FileCheck --check-prefix VEC4_INTERL2 %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=2 -force-vector-width=1 -dce -instcombine -S | FileCheck --check-prefix VEC1_INTERL2 %s ; VEC4_INTERL1-LABEL: @fp_iv_loop1( ; VEC4_INTERL1: %[[FP_INC:.*]] = load float, float* @fp_inc Index: test/Transforms/LoopVectorize/float-reduction.ll =================================================================== --- test/Transforms/LoopVectorize/float-reduction.ll +++ test/Transforms/LoopVectorize/float-reduction.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" ;CHECK-LABEL: @foo( Index: test/Transforms/LoopVectorize/funcall.ll =================================================================== --- test/Transforms/LoopVectorize/funcall.ll +++ test/Transforms/LoopVectorize/funcall.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -force-vector-width=2 -force-vector-interleave=1 < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=2 -force-vector-interleave=1 < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/gcc-examples.ll =================================================================== --- test/Transforms/LoopVectorize/gcc-examples.ll +++ test/Transforms/LoopVectorize/gcc-examples.ll @@ -1,5 +1,5 @@ -; RUN: opt < %s -basicaa -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -dce -instcombine -S | FileCheck %s -; RUN: opt < %s -basicaa -loop-vectorize -force-vector-width=4 -force-vector-interleave=4 -dce -instcombine -S | FileCheck %s -check-prefix=UNROLL +; RUN: opt < %s -basicaa -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -basicaa -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -force-vector-interleave=4 -dce -instcombine -S | FileCheck %s -check-prefix=UNROLL target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/gep_with_bitcast.ll =================================================================== --- test/Transforms/LoopVectorize/gep_with_bitcast.ll +++ test/Transforms/LoopVectorize/gep_with_bitcast.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -instcombine -force-vector-width=4 < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -instcombine -force-vector-width=4 < %s | FileCheck %s target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128" Index: test/Transforms/LoopVectorize/global_alias.ll =================================================================== --- test/Transforms/LoopVectorize/global_alias.ll +++ test/Transforms/LoopVectorize/global_alias.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -O1 -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -O1 -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a0:0:64-n32-S64" Index: test/Transforms/LoopVectorize/hints-trans.ll =================================================================== --- test/Transforms/LoopVectorize/hints-trans.ll +++ test/Transforms/LoopVectorize/hints-trans.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -instsimplify -simplifycfg < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -instsimplify -simplifycfg < %s | FileCheck %s ; Note: -instsimplify -simplifycfg remove the (now dead) original loop, making ; it easy to test that the llvm.loop.unroll.disable hint is still present. target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/hoist-loads.ll =================================================================== --- test/Transforms/LoopVectorize/hoist-loads.ll +++ test/Transforms/LoopVectorize/hoist-loads.ll @@ -1,4 +1,4 @@ -; RUN: opt -loop-vectorize -force-vector-width=2 -force-vector-interleave=1 -S < %s | FileCheck %s +; RUN: opt -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=2 -force-vector-interleave=1 -S < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/i8-induction.ll =================================================================== --- test/Transforms/LoopVectorize/i8-induction.ll +++ test/Transforms/LoopVectorize/i8-induction.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/icmp-uniforms.ll =================================================================== --- test/Transforms/LoopVectorize/icmp-uniforms.ll +++ test/Transforms/LoopVectorize/icmp-uniforms.ll @@ -1,5 +1,5 @@ ; REQUIRES: asserts -; RUN: opt < %s -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -instcombine -debug-only=loop-vectorize -disable-output -print-after=instcombine 2>&1 | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -instcombine -debug-only=loop-vectorize -disable-output -print-after=instcombine 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128" Index: test/Transforms/LoopVectorize/if-conv-crash.ll =================================================================== --- test/Transforms/LoopVectorize/if-conv-crash.ll +++ test/Transforms/LoopVectorize/if-conv-crash.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -enable-if-conversion +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -enable-if-conversion target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/if-conversion-edgemasks.ll =================================================================== --- test/Transforms/LoopVectorize/if-conversion-edgemasks.ll +++ test/Transforms/LoopVectorize/if-conversion-edgemasks.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/if-conversion-nest.ll =================================================================== --- test/Transforms/LoopVectorize/if-conversion-nest.ll +++ test/Transforms/LoopVectorize/if-conversion-nest.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -enable-if-conversion -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -enable-if-conversion -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/if-conversion-reduction.ll =================================================================== --- test/Transforms/LoopVectorize/if-conversion-reduction.ll +++ test/Transforms/LoopVectorize/if-conversion-reduction.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -enable-if-conversion -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -enable-if-conversion -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/if-conversion.ll =================================================================== --- test/Transforms/LoopVectorize/if-conversion.ll +++ test/Transforms/LoopVectorize/if-conversion.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -enable-if-conversion -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -enable-if-conversion -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/if-pred-non-void.ll =================================================================== --- test/Transforms/LoopVectorize/if-pred-non-void.ll +++ test/Transforms/LoopVectorize/if-pred-non-void.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -force-vector-width=2 -force-vector-interleave=1 -loop-vectorize -verify-loop-info -simplifycfg < %s | FileCheck %s +; RUN: opt -S -force-vector-width=2 -force-vector-interleave=1 -loop-vectorize-ignore-target-info -loop-vectorize -verify-loop-info -simplifycfg < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/if-pred-not-when-safe.ll =================================================================== --- test/Transforms/LoopVectorize/if-pred-not-when-safe.ll +++ test/Transforms/LoopVectorize/if-pred-not-when-safe.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -force-vector-width=2 -force-vector-interleave=1 -loop-vectorize -verify-loop-info -simplifycfg < %s | FileCheck %s +; RUN: opt -S -force-vector-width=2 -force-vector-interleave=1 -loop-vectorize-ignore-target-info -loop-vectorize -verify-loop-info -simplifycfg < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/if-pred-stores.ll =================================================================== --- test/Transforms/LoopVectorize/if-pred-stores.ll +++ test/Transforms/LoopVectorize/if-pred-stores.ll @@ -1,6 +1,6 @@ -; RUN: opt -S -vectorize-num-stores-pred=1 -force-vector-width=1 -force-vector-interleave=2 -loop-vectorize -verify-loop-info -simplifycfg < %s | FileCheck %s --check-prefix=UNROLL -; RUN: opt -S -vectorize-num-stores-pred=1 -force-vector-width=1 -force-vector-interleave=2 -loop-vectorize -verify-loop-info < %s | FileCheck %s --check-prefix=UNROLL-NOSIMPLIFY -; RUN: opt -S -vectorize-num-stores-pred=1 -force-vector-width=2 -force-vector-interleave=1 -loop-vectorize -enable-cond-stores-vec -verify-loop-info -simplifycfg < %s | FileCheck %s --check-prefix=VEC +; RUN: opt -S -vectorize-num-stores-pred=1 -force-vector-width=1 -force-vector-interleave=2 -loop-vectorize-ignore-target-info -loop-vectorize -verify-loop-info -simplifycfg < %s | FileCheck %s --check-prefix=UNROLL +; RUN: opt -S -vectorize-num-stores-pred=1 -force-vector-width=1 -force-vector-interleave=2 -loop-vectorize-ignore-target-info -loop-vectorize -verify-loop-info < %s | FileCheck %s --check-prefix=UNROLL-NOSIMPLIFY +; RUN: opt -S -vectorize-num-stores-pred=1 -force-vector-width=2 -force-vector-interleave=1 -loop-vectorize-ignore-target-info -loop-vectorize -enable-cond-stores-vec -verify-loop-info -simplifycfg < %s | FileCheck %s --check-prefix=VEC target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/incorrect-dom-info.ll =================================================================== --- test/Transforms/LoopVectorize/incorrect-dom-info.ll +++ test/Transforms/LoopVectorize/incorrect-dom-info.ll @@ -1,6 +1,6 @@ ; This test is based on one of benchmarks from SPEC2006. It exposes a bug with ; incorrect updating of the dom-tree. -; RUN: opt < %s -loop-vectorize -verify-dom-info +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -verify-dom-info target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" @PL_utf8skip = external constant [0 x i8] Index: test/Transforms/LoopVectorize/increment.ll =================================================================== --- test/Transforms/LoopVectorize/increment.ll +++ test/Transforms/LoopVectorize/increment.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/induction-step.ll =================================================================== --- test/Transforms/LoopVectorize/induction-step.ll +++ test/Transforms/LoopVectorize/induction-step.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=8 -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=8 -S | FileCheck %s ; int int_inc; ; Index: test/Transforms/LoopVectorize/induction.ll =================================================================== --- test/Transforms/LoopVectorize/induction.ll +++ test/Transforms/LoopVectorize/induction.ll @@ -1,8 +1,8 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=2 -S | FileCheck %s -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=2 -instcombine -S | FileCheck %s --check-prefix=IND -; RUN: opt < %s -loop-vectorize -force-vector-interleave=2 -force-vector-width=2 -instcombine -S | FileCheck %s --check-prefix=UNROLL -; RUN: opt < %s -loop-vectorize -force-vector-interleave=2 -force-vector-width=2 -S | FileCheck %s --check-prefix=UNROLL-NO-IC -; RUN: opt < %s -loop-vectorize -force-vector-interleave=2 -force-vector-width=4 -enable-interleaved-mem-accesses -instcombine -S | FileCheck %s --check-prefix=INTERLEAVE +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=2 -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=2 -instcombine -S | FileCheck %s --check-prefix=IND +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=2 -force-vector-width=2 -instcombine -S | FileCheck %s --check-prefix=UNROLL +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=2 -force-vector-width=2 -S | FileCheck %s --check-prefix=UNROLL-NO-IC +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=2 -force-vector-width=4 -enable-interleaved-mem-accesses -instcombine -S | FileCheck %s --check-prefix=INTERLEAVE target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/induction_plus.ll =================================================================== --- test/Transforms/LoopVectorize/induction_plus.ll +++ test/Transforms/LoopVectorize/induction_plus.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/infiniteloop.ll =================================================================== --- test/Transforms/LoopVectorize/infiniteloop.ll +++ test/Transforms/LoopVectorize/infiniteloop.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -indvars -loop-vectorize -force-vector-width=2 < %s | FileCheck %s +; RUN: opt -S -indvars -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=2 < %s | FileCheck %s 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" Index: test/Transforms/LoopVectorize/interleaved-accesses-1.ll =================================================================== --- test/Transforms/LoopVectorize/interleaved-accesses-1.ll +++ test/Transforms/LoopVectorize/interleaved-accesses-1.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -instcombine -force-vector-width=4 -force-vector-interleave=1 -enable-interleaved-mem-accesses=true < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -instcombine -force-vector-width=4 -force-vector-interleave=1 -enable-interleaved-mem-accesses=true < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/interleaved-accesses-2.ll =================================================================== --- test/Transforms/LoopVectorize/interleaved-accesses-2.ll +++ test/Transforms/LoopVectorize/interleaved-accesses-2.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -instcombine -force-vector-width=4 -force-vector-interleave=1 -enable-interleaved-mem-accesses=true < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -instcombine -force-vector-width=4 -force-vector-interleave=1 -enable-interleaved-mem-accesses=true < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/interleaved-accesses-3.ll =================================================================== --- test/Transforms/LoopVectorize/interleaved-accesses-3.ll +++ test/Transforms/LoopVectorize/interleaved-accesses-3.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -instcombine -force-vector-width=4 -force-vector-interleave=1 -enable-interleaved-mem-accesses=true < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -instcombine -force-vector-width=4 -force-vector-interleave=1 -enable-interleaved-mem-accesses=true < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/interleaved-accesses-pred-stores.ll =================================================================== --- test/Transforms/LoopVectorize/interleaved-accesses-pred-stores.ll +++ test/Transforms/LoopVectorize/interleaved-accesses-pred-stores.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -instcombine -force-vector-width=2 -force-vector-interleave=1 -enable-interleaved-mem-accesses -vectorize-num-stores-pred=1 -enable-cond-stores-vec < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -instcombine -force-vector-width=2 -force-vector-interleave=1 -enable-interleaved-mem-accesses -vectorize-num-stores-pred=1 -enable-cond-stores-vec < %s | FileCheck %s target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128" %pair = type { i64, i64 } Index: test/Transforms/LoopVectorize/interleaved-accesses.ll =================================================================== --- test/Transforms/LoopVectorize/interleaved-accesses.ll +++ test/Transforms/LoopVectorize/interleaved-accesses.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -instcombine -force-vector-width=4 -force-vector-interleave=1 -enable-interleaved-mem-accesses=true -runtime-memory-check-threshold=24 < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -instcombine -force-vector-width=4 -force-vector-interleave=1 -enable-interleaved-mem-accesses=true -runtime-memory-check-threshold=24 < %s | FileCheck %s target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128" Index: test/Transforms/LoopVectorize/intrinsic.ll =================================================================== --- test/Transforms/LoopVectorize/intrinsic.ll +++ test/Transforms/LoopVectorize/intrinsic.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/iv_outside_user.ll =================================================================== --- test/Transforms/LoopVectorize/iv_outside_user.ll +++ test/Transforms/LoopVectorize/iv_outside_user.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -force-vector-interleave=1 -force-vector-width=2 < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=2 < %s | FileCheck %s ; CHECK-LABEL: @postinc ; CHECK-LABEL: scalar.ph: Index: test/Transforms/LoopVectorize/lcssa-crash.ll =================================================================== --- test/Transforms/LoopVectorize/lcssa-crash.ll +++ test/Transforms/LoopVectorize/lcssa-crash.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/lifetime.ll =================================================================== --- test/Transforms/LoopVectorize/lifetime.ll +++ test/Transforms/LoopVectorize/lifetime.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -force-vector-width=2 -force-vector-interleave=1 < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=2 -force-vector-interleave=1 < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/loop-form.ll =================================================================== --- test/Transforms/LoopVectorize/loop-form.ll +++ test/Transforms/LoopVectorize/loop-form.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize < %s | FileCheck %s target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" ; Check that we vectorize only bottom-tested loops. Index: test/Transforms/LoopVectorize/loop-vect-memdep.ll =================================================================== --- test/Transforms/LoopVectorize/loop-vect-memdep.ll +++ test/Transforms/LoopVectorize/loop-vect-memdep.ll @@ -1,6 +1,6 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" -; RUN: opt < %s -S -loop-vectorize -debug-only=loop-vectorize 2>&1 | FileCheck %s +; RUN: opt < %s -S -loop-vectorize-ignore-target-info -loop-vectorize -debug-only=loop-vectorize 2>&1 | FileCheck %s ; REQUIRES: asserts ; CHECK: LV: Can't vectorize due to memory conflicts Index: test/Transforms/LoopVectorize/memdep.ll =================================================================== --- test/Transforms/LoopVectorize/memdep.ll +++ test/Transforms/LoopVectorize/memdep.ll @@ -1,5 +1,5 @@ -; RUN: opt < %s -loop-vectorize -force-vector-width=2 -force-vector-interleave=1 -S | FileCheck %s -; RUN: opt < %s -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -S | FileCheck %s -check-prefix=WIDTH +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=2 -force-vector-interleave=1 -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -S | FileCheck %s -check-prefix=WIDTH target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/metadata-unroll.ll =================================================================== --- test/Transforms/LoopVectorize/metadata-unroll.ll +++ test/Transforms/LoopVectorize/metadata-unroll.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/metadata-width.ll =================================================================== --- test/Transforms/LoopVectorize/metadata-width.ll +++ test/Transforms/LoopVectorize/metadata-width.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/metadata.ll =================================================================== --- test/Transforms/LoopVectorize/metadata.ll +++ test/Transforms/LoopVectorize/metadata.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -S | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; Function Attrs: nounwind uwtable Index: test/Transforms/LoopVectorize/miniters.ll =================================================================== --- test/Transforms/LoopVectorize/miniters.ll +++ test/Transforms/LoopVectorize/miniters.ll @@ -1,5 +1,5 @@ -; RUN: opt %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -S | FileCheck %s -; RUN: opt %s -loop-vectorize -force-vector-interleave=2 -force-vector-width=4 -S | FileCheck %s -check-prefix=UNROLL +; RUN: opt %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -S | FileCheck %s +; RUN: opt %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=2 -force-vector-width=4 -S | FileCheck %s -check-prefix=UNROLL target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/minmax_reduction.ll =================================================================== --- test/Transforms/LoopVectorize/minmax_reduction.ll +++ test/Transforms/LoopVectorize/minmax_reduction.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -dce -instcombine -force-vector-width=2 -force-vector-interleave=1 < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -dce -instcombine -force-vector-width=2 -force-vector-interleave=1 < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/multi-use-reduction-bug.ll =================================================================== --- test/Transforms/LoopVectorize/multi-use-reduction-bug.ll +++ test/Transforms/LoopVectorize/multi-use-reduction-bug.ll @@ -1,4 +1,4 @@ -; RUN: opt -indvars -loop-vectorize -force-vector-width=2 -force-vector-interleave=1 -S < %s | FileCheck %s +; RUN: opt -indvars -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=2 -force-vector-interleave=1 -S < %s | FileCheck %s target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/multiple-address-spaces.ll =================================================================== --- test/Transforms/LoopVectorize/multiple-address-spaces.ll +++ test/Transforms/LoopVectorize/multiple-address-spaces.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -basicaa -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -basicaa -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s ; From a simple program with two address spaces: ; char Y[4*10000] __attribute__((address_space(1))); Index: test/Transforms/LoopVectorize/multiple-strides-vectorization.ll =================================================================== --- test/Transforms/LoopVectorize/multiple-strides-vectorization.ll +++ test/Transforms/LoopVectorize/multiple-strides-vectorization.ll @@ -1,4 +1,4 @@ -; RUN: opt -loop-vectorize -force-vector-width=4 -S < %s | FileCheck %s +; RUN: opt -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -S < %s | FileCheck %s ; This is the test case from PR26314. ; When we were retrying dependence checking with memchecks only, Index: test/Transforms/LoopVectorize/no_array_bounds.ll =================================================================== --- test/Transforms/LoopVectorize/no_array_bounds.ll +++ test/Transforms/LoopVectorize/no_array_bounds.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -S 2>&1 | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -S 2>&1 | FileCheck %s ; Verify warning is generated when vectorization/ interleaving is explicitly specified and fails to occur. ; CHECK: warning: no_array_bounds.cpp:5:5: loop not vectorized: failed explicitly specified loop vectorization Index: test/Transforms/LoopVectorize/no_idiv_reduction.ll =================================================================== --- test/Transforms/LoopVectorize/no_idiv_reduction.ll +++ test/Transforms/LoopVectorize/no_idiv_reduction.ll @@ -1,4 +1,4 @@ -; RUN: opt -loop-vectorize -force-vector-width=2 -force-vector-interleave=1 -S < %s | FileCheck %s +; RUN: opt -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=2 -force-vector-interleave=1 -S < %s | FileCheck %s @a = common global [128 x i32] zeroinitializer, align 16 ;; Must not vectorize division reduction. Division is lossy. Index: test/Transforms/LoopVectorize/no_int_induction.ll =================================================================== --- test/Transforms/LoopVectorize/no_int_induction.ll +++ test/Transforms/LoopVectorize/no_int_induction.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s ; int __attribute__((noinline)) sum_array(int *A, int n) { ; return std::accumulate(A, A + n, 0); Index: test/Transforms/LoopVectorize/no_outside_user.ll =================================================================== --- test/Transforms/LoopVectorize/no_outside_user.ll +++ test/Transforms/LoopVectorize/no_outside_user.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -force-vector-interleave=1 -force-vector-width=2 < %s 2>&1 | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=2 < %s 2>&1 | FileCheck %s ; CHECK: remark: {{.*}}: loop not vectorized: value could not be identified as an induction or reduction variable Index: test/Transforms/LoopVectorize/no_switch.ll =================================================================== --- test/Transforms/LoopVectorize/no_switch.ll +++ test/Transforms/LoopVectorize/no_switch.ll @@ -1,6 +1,6 @@ -; RUN: opt < %s -loop-vectorize -force-vector-width=4 -S 2>&1 | FileCheck %s -; RUN: opt < %s -loop-vectorize -force-vector-width=1 -S 2>&1 | FileCheck %s -check-prefix=NOANALYSIS -; RUN: opt < %s -loop-vectorize -force-vector-width=4 -pass-remarks-missed='loop-vectorize' -S 2>&1 | FileCheck %s -check-prefix=MOREINFO +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -S 2>&1 | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=1 -S 2>&1 | FileCheck %s -check-prefix=NOANALYSIS +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -pass-remarks-missed='loop-vectorize' -S 2>&1 | FileCheck %s -check-prefix=MOREINFO ; CHECK: remark: source.cpp:4:5: loop not vectorized: loop contains a switch statement ; CHECK: warning: source.cpp:4:5: loop not vectorized: failed explicitly specified loop vectorization Index: test/Transforms/LoopVectorize/noalias-md-licm.ll =================================================================== --- test/Transforms/LoopVectorize/noalias-md-licm.ll +++ test/Transforms/LoopVectorize/noalias-md-licm.ll @@ -1,4 +1,4 @@ -; RUN: opt -basicaa -scoped-noalias -loop-vectorize -licm -force-vector-width=2 \ +; RUN: opt -basicaa -scoped-noalias -loop-vectorize-ignore-target-info -loop-vectorize -licm -force-vector-width=2 \ ; RUN: -force-vector-interleave=1 -S < %s | FileCheck %s target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/noalias-md.ll =================================================================== --- test/Transforms/LoopVectorize/noalias-md.ll +++ test/Transforms/LoopVectorize/noalias-md.ll @@ -1,7 +1,7 @@ -; RUN: opt -basicaa -loop-vectorize -force-vector-width=2 \ +; RUN: opt -basicaa -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=2 \ ; RUN: -force-vector-interleave=1 -S < %s \ ; RUN: | FileCheck %s -check-prefix=BOTH -check-prefix=LV -; RUN: opt -basicaa -scoped-noalias -loop-vectorize -dse -force-vector-width=2 \ +; RUN: opt -basicaa -scoped-noalias -loop-vectorize-ignore-target-info -loop-vectorize -dse -force-vector-width=2 \ ; RUN: -force-vector-interleave=1 -S < %s \ ; RUN: | FileCheck %s -check-prefix=BOTH -check-prefix=DSE Index: test/Transforms/LoopVectorize/nofloat.ll =================================================================== --- test/Transforms/LoopVectorize/nofloat.ll +++ test/Transforms/LoopVectorize/nofloat.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s ; Make sure that we don't vectorize functions with 'noimplicitfloat' attributes. Index: test/Transforms/LoopVectorize/non-const-n.ll =================================================================== --- test/Transforms/LoopVectorize/non-const-n.ll +++ test/Transforms/LoopVectorize/non-const-n.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/nontemporal.ll =================================================================== --- test/Transforms/LoopVectorize/nontemporal.ll +++ test/Transforms/LoopVectorize/nontemporal.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -instcombine -S | FileCheck %s target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" Index: test/Transforms/LoopVectorize/nsw-crash.ll =================================================================== --- test/Transforms/LoopVectorize/nsw-crash.ll +++ test/Transforms/LoopVectorize/nsw-crash.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/optsize.ll =================================================================== --- test/Transforms/LoopVectorize/optsize.ll +++ test/Transforms/LoopVectorize/optsize.ll @@ -1,7 +1,7 @@ ; This test verifies that the loop vectorizer will NOT produce a tail ; loop with the optimize for size or the minimize size attributes. ; REQUIRES: asserts -; RUN: opt < %s -loop-vectorize -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -S | FileCheck %s target datalayout = "E-m:e-p:32:32-i64:32-f64:32:64-a:0:32-n32-S128" Index: test/Transforms/LoopVectorize/phi-hang.ll =================================================================== --- test/Transforms/LoopVectorize/phi-hang.ll +++ test/Transforms/LoopVectorize/phi-hang.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize < %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize < %s ; PR15384 define void @test1(i32 %arg) { Index: test/Transforms/LoopVectorize/pr25281.ll =================================================================== --- test/Transforms/LoopVectorize/pr25281.ll +++ test/Transforms/LoopVectorize/pr25281.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -scev-aa -loop-vectorize -print-alias-sets -S -o - 2>&1 | FileCheck %s +; RUN: opt < %s -scev-aa -loop-vectorize-ignore-target-info -loop-vectorize -print-alias-sets -S -o - 2>&1 | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; PR25281 Index: test/Transforms/LoopVectorize/pr28541.ll =================================================================== --- test/Transforms/LoopVectorize/pr28541.ll +++ test/Transforms/LoopVectorize/pr28541.ll @@ -1,4 +1,4 @@ -; RUN: opt -loop-vectorize -pass-remarks=loop-vectorize -S < %s 2>&1 | FileCheck %s +; RUN: opt -loop-vectorize-ignore-target-info -loop-vectorize -pass-remarks=loop-vectorize -S < %s 2>&1 | FileCheck %s ; FIXME: Check for -pass-remarks-missed and -pass-remarks-analysis output when ; addAcyclicInnerLoop emits analysis. Index: test/Transforms/LoopVectorize/ptr-induction.ll =================================================================== --- test/Transforms/LoopVectorize/ptr-induction.ll +++ test/Transforms/LoopVectorize/ptr-induction.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-width=4 -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -S | FileCheck %s target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128" Index: test/Transforms/LoopVectorize/ptr_loops.ll =================================================================== --- test/Transforms/LoopVectorize/ptr_loops.ll +++ test/Transforms/LoopVectorize/ptr_loops.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -basicaa -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S -enable-if-conversion | FileCheck %s +; RUN: opt < %s -basicaa -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S -enable-if-conversion | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/read-only.ll =================================================================== --- test/Transforms/LoopVectorize/read-only.ll +++ test/Transforms/LoopVectorize/read-only.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/reduction.ll =================================================================== --- test/Transforms/LoopVectorize/reduction.ll +++ test/Transforms/LoopVectorize/reduction.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/reverse_induction.ll =================================================================== --- test/Transforms/LoopVectorize/reverse_induction.ll +++ test/Transforms/LoopVectorize/reverse_induction.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=2 -force-vector-width=4 -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=2 -force-vector-width=4 -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/reverse_iter.ll =================================================================== --- test/Transforms/LoopVectorize/reverse_iter.ll +++ test/Transforms/LoopVectorize/reverse_iter.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/runtime-check-address-space.ll =================================================================== --- test/Transforms/LoopVectorize/runtime-check-address-space.ll +++ test/Transforms/LoopVectorize/runtime-check-address-space.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -march=r600 -mcpu=cayman -basicaa -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine < %s | FileCheck %s +; RUN: opt -S -march=r600 -mcpu=cayman -basicaa -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine < %s | FileCheck %s ; Check vectorization that would ordinarily require a runtime bounds ; check on the pointers when mixing address spaces. For now we cannot Index: test/Transforms/LoopVectorize/runtime-check-readonly-address-space.ll =================================================================== --- test/Transforms/LoopVectorize/runtime-check-readonly-address-space.ll +++ test/Transforms/LoopVectorize/runtime-check-readonly-address-space.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -march=r600 -mcpu=cayman -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine < %s | FileCheck %s +; RUN: opt -S -march=r600 -mcpu=cayman -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine < %s | FileCheck %s ; Artificial datalayout target datalayout = "e-p:32:32:32-p1:16:16:16-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048-n32:64" Index: test/Transforms/LoopVectorize/runtime-check-readonly.ll =================================================================== --- test/Transforms/LoopVectorize/runtime-check-readonly.ll +++ test/Transforms/LoopVectorize/runtime-check-readonly.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/runtime-check.ll =================================================================== --- test/Transforms/LoopVectorize/runtime-check.ll +++ test/Transforms/LoopVectorize/runtime-check.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/runtime-limit.ll =================================================================== --- test/Transforms/LoopVectorize/runtime-limit.ll +++ test/Transforms/LoopVectorize/runtime-limit.ll @@ -1,5 +1,5 @@ -; RUN: opt < %s -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -dce -instcombine -pass-remarks=loop-vectorize -pass-remarks-missed=loop-vectorize -S 2>&1 | FileCheck %s -check-prefix=OVERRIDE -; RUN: opt < %s -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -pragma-vectorize-memory-check-threshold=6 -dce -instcombine -pass-remarks=loop-vectorize -pass-remarks-missed=loop-vectorize -S 2>&1 | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -dce -instcombine -pass-remarks=loop-vectorize -pass-remarks-missed=loop-vectorize -S 2>&1 | FileCheck %s -check-prefix=OVERRIDE +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -pragma-vectorize-memory-check-threshold=6 -dce -instcombine -pass-remarks=loop-vectorize -pass-remarks-missed=loop-vectorize -S 2>&1 | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/safegep.ll =================================================================== --- test/Transforms/LoopVectorize/safegep.ll +++ test/Transforms/LoopVectorize/safegep.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 < %s | FileCheck %s target datalayout = "e-p:32:32:32-S128-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f16:16:16-f32:32:32-f64:32:64-f128:128:128-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32" Index: test/Transforms/LoopVectorize/same-base-access.ll =================================================================== --- test/Transforms/LoopVectorize/same-base-access.ll +++ test/Transforms/LoopVectorize/same-base-access.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S -enable-if-conversion | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S -enable-if-conversion | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/scalar-select.ll =================================================================== --- test/Transforms/LoopVectorize/scalar-select.ll +++ test/Transforms/LoopVectorize/scalar-select.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/scalar_after_vectorization.ll =================================================================== --- test/Transforms/LoopVectorize/scalar_after_vectorization.ll +++ test/Transforms/LoopVectorize/scalar_after_vectorization.ll @@ -1,5 +1,5 @@ -; RUN: opt < %s -force-vector-width=4 -force-vector-interleave=2 -loop-vectorize -instcombine -S | FileCheck %s -; RUN: opt < %s -force-vector-width=4 -force-vector-interleave=2 -loop-vectorize -S | FileCheck %s --check-prefix=NO-IC +; RUN: opt < %s -force-vector-width=4 -force-vector-interleave=2 -loop-vectorize-ignore-target-info -loop-vectorize -instcombine -S | FileCheck %s +; RUN: opt < %s -force-vector-width=4 -force-vector-interleave=2 -loop-vectorize-ignore-target-info -loop-vectorize -S | FileCheck %s --check-prefix=NO-IC target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128" Index: test/Transforms/LoopVectorize/scev-exitlim-crash.ll =================================================================== --- test/Transforms/LoopVectorize/scev-exitlim-crash.ll +++ test/Transforms/LoopVectorize/scev-exitlim-crash.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=2 -force-vector-width=8 -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=2 -force-vector-width=8 -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/simple-unroll.ll =================================================================== --- test/Transforms/LoopVectorize/simple-unroll.ll +++ test/Transforms/LoopVectorize/simple-unroll.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-width=4 -force-vector-interleave=2 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -force-vector-interleave=2 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/small-loop.ll =================================================================== --- test/Transforms/LoopVectorize/small-loop.ll +++ test/Transforms/LoopVectorize/small-loop.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/start-non-zero.ll =================================================================== --- test/Transforms/LoopVectorize/start-non-zero.ll +++ test/Transforms/LoopVectorize/start-non-zero.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/store-shuffle-bug.ll =================================================================== --- test/Transforms/LoopVectorize/store-shuffle-bug.ll +++ test/Transforms/LoopVectorize/store-shuffle-bug.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -basicaa -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine < %s | FileCheck %s +; RUN: opt -S -basicaa -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/struct_access.ll =================================================================== --- test/Transforms/LoopVectorize/struct_access.ll +++ test/Transforms/LoopVectorize/struct_access.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/tbaa-nodep.ll =================================================================== --- test/Transforms/LoopVectorize/tbaa-nodep.ll +++ test/Transforms/LoopVectorize/tbaa-nodep.ll @@ -1,5 +1,5 @@ -; RUN: opt < %s -tbaa -basicaa -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -simplifycfg -S | FileCheck %s -; RUN: opt < %s -basicaa -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -simplifycfg -S | FileCheck %s --check-prefix=CHECK-NOTBAA +; RUN: opt < %s -tbaa -basicaa -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -simplifycfg -S | FileCheck %s +; RUN: opt < %s -basicaa -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -simplifycfg -S | FileCheck %s --check-prefix=CHECK-NOTBAA target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; Function Attrs: nounwind uwtable Index: test/Transforms/LoopVectorize/undef-inst-bug.ll =================================================================== --- test/Transforms/LoopVectorize/undef-inst-bug.ll +++ test/Transforms/LoopVectorize/undef-inst-bug.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/unroll.ll =================================================================== --- test/Transforms/LoopVectorize/unroll.ll +++ test/Transforms/LoopVectorize/unroll.ll @@ -1,6 +1,6 @@ ; This test makes sure that loop will not be unrolled in vectorization if VF computed ; equals to 1. -; RUN: opt < %s -loop-vectorize -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -S | FileCheck %s ; Make sure there are no geps being merged. ; CHECK-LABEL: @foo( Index: test/Transforms/LoopVectorize/unroll_novec.ll =================================================================== --- test/Transforms/LoopVectorize/unroll_novec.ll +++ test/Transforms/LoopVectorize/unroll_novec.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-width=1 -force-target-num-scalar-regs=16 -force-target-max-scalar-interleave=8 -force-target-instruction-cost=1 -small-loop-cost=40 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=1 -force-target-num-scalar-regs=16 -force-target-max-scalar-interleave=8 -force-target-instruction-cost=1 -small-loop-cost=40 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/unsafe-dep-remark.ll =================================================================== --- test/Transforms/LoopVectorize/unsafe-dep-remark.ll +++ test/Transforms/LoopVectorize/unsafe-dep-remark.ll @@ -1,4 +1,4 @@ -; RUN: opt -loop-vectorize -force-vector-width=2 -pass-remarks-analysis=loop-vectorize < %s 2>&1 | FileCheck %s +; RUN: opt -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=2 -pass-remarks-analysis=loop-vectorize < %s 2>&1 | FileCheck %s ; ModuleID = '/tmp/kk.c' source_filename = "/tmp/kk.c" Index: test/Transforms/LoopVectorize/unsized-pointee-crash.ll =================================================================== --- test/Transforms/LoopVectorize/unsized-pointee-crash.ll +++ test/Transforms/LoopVectorize/unsized-pointee-crash.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; CHECK-LABEL: @fn1 Index: test/Transforms/LoopVectorize/value-ptr-bug.ll =================================================================== --- test/Transforms/LoopVectorize/value-ptr-bug.ll +++ test/Transforms/LoopVectorize/value-ptr-bug.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -dce -instcombine < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-width=4 -force-vector-interleave=1 -dce -instcombine < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/vect.stats.ll =================================================================== --- test/Transforms/LoopVectorize/vect.stats.ll +++ test/Transforms/LoopVectorize/vect.stats.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=4 -force-vector-width=4 -debug-only=loop-vectorize -stats -S 2>&1 | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=4 -force-vector-width=4 -debug-only=loop-vectorize -stats -S 2>&1 | FileCheck %s ; REQUIRES: asserts ; Index: test/Transforms/LoopVectorize/vectorize-once.ll =================================================================== --- test/Transforms/LoopVectorize/vectorize-once.ll +++ test/Transforms/LoopVectorize/vectorize-once.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S -simplifycfg | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S -simplifycfg | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/version-mem-access.ll =================================================================== --- test/Transforms/LoopVectorize/version-mem-access.ll +++ test/Transforms/LoopVectorize/version-mem-access.ll @@ -1,4 +1,4 @@ -; RUN: opt -basicaa -loop-vectorize -enable-mem-access-versioning -force-vector-width=2 -force-vector-interleave=1 < %s -S | FileCheck %s +; RUN: opt -basicaa -loop-vectorize-ignore-target-info -loop-vectorize -enable-mem-access-versioning -force-vector-width=2 -force-vector-interleave=1 < %s -S | FileCheck %s target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/write-only.ll =================================================================== --- test/Transforms/LoopVectorize/write-only.ll +++ test/Transforms/LoopVectorize/write-only.ll @@ -1,4 +1,4 @@ -; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s +; RUN: opt < %s -loop-vectorize-ignore-target-info -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Index: test/Transforms/LoopVectorize/zero-sized-pointee-crash.ll =================================================================== --- test/Transforms/LoopVectorize/zero-sized-pointee-crash.ll +++ test/Transforms/LoopVectorize/zero-sized-pointee-crash.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -loop-vectorize < %s | FileCheck %s +; RUN: opt -S -loop-vectorize-ignore-target-info -loop-vectorize < %s | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; CHECK-LABEL: @fn1