diff --git a/llvm/test/Other/opt-old-new-pm-passes.ll b/llvm/test/Other/opt-old-new-pm-passes.ll new file mode 100644 --- /dev/null +++ b/llvm/test/Other/opt-old-new-pm-passes.ll @@ -0,0 +1,2 @@ +; RUN: not opt -dce --passes=inline %s 2>&1 | FileCheck %s +; CHECK: Cannot specify passes via both -foo-pass and --passes=foo-pass \ No newline at end of file diff --git a/llvm/test/Transforms/IRCE/bug-loop-varying-upper-limit.ll b/llvm/test/Transforms/IRCE/bug-loop-varying-upper-limit.ll --- a/llvm/test/Transforms/IRCE/bug-loop-varying-upper-limit.ll +++ b/llvm/test/Transforms/IRCE/bug-loop-varying-upper-limit.ll @@ -1,5 +1,5 @@ ; RUN: opt -irce-print-changed-loops -S -verify-loop-info -irce -verify < %s 2>&1 | FileCheck %s -; RUN: opt -irce-print-changed-loops -S -verify-loop-info -passes='require,irce' -verify < %s 2>&1 | FileCheck %s +; RUN: opt -irce-print-changed-loops -S -verify-loop-info -passes='require,irce,verify' < %s 2>&1 | FileCheck %s ; CHECK-NOT: constrained loop diff --git a/llvm/test/Transforms/IRCE/non-loop-invariant-rhs-instr.ll b/llvm/test/Transforms/IRCE/non-loop-invariant-rhs-instr.ll --- a/llvm/test/Transforms/IRCE/non-loop-invariant-rhs-instr.ll +++ b/llvm/test/Transforms/IRCE/non-loop-invariant-rhs-instr.ll @@ -1,6 +1,6 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt -S -irce -verify-loop-info -verify < %s 2>&1 | FileCheck %s -; RUN: opt -S -passes=irce -verify-loop-info -verify < %s 2>&1 | FileCheck %s +; RUN: opt -S -verify-loop-info -passes=irce,verify < %s 2>&1 | FileCheck %s define i32 @test_01(i32 %A, i64 %Len, i32 *%array) { ; CHECK-LABEL: @test_01( diff --git a/llvm/test/Transforms/LoadStoreVectorizer/X86/codegenprepare-produced-address-math.ll b/llvm/test/Transforms/LoadStoreVectorizer/X86/codegenprepare-produced-address-math.ll --- a/llvm/test/Transforms/LoadStoreVectorizer/X86/codegenprepare-produced-address-math.ll +++ b/llvm/test/Transforms/LoadStoreVectorizer/X86/codegenprepare-produced-address-math.ll @@ -1,7 +1,6 @@ ; RUN: opt -codegenprepare -load-store-vectorizer %s -S -o - | FileCheck %s ; RUN: opt -load-store-vectorizer %s -S -o - | FileCheck %s -; RUN: opt -codegenprepare -aa-pipeline=basic-aa -passes='function(load-store-vectorizer)' %s -S -o - | FileCheck %s -; RUN: opt -aa-pipeline=basic-aa -passes='function(load-store-vectorizer)' %s -S -o - | FileCheck %s +; RUN: opt -aa-pipeline=basic-aa -passes='function(load-store-vectorizer)' %s -S -o - | FileCheck %s target triple = "x86_64--" diff --git a/llvm/test/Transforms/RewriteStatepointsForGC/relocate-invoke-result.ll b/llvm/test/Transforms/RewriteStatepointsForGC/relocate-invoke-result.ll --- a/llvm/test/Transforms/RewriteStatepointsForGC/relocate-invoke-result.ll +++ b/llvm/test/Transforms/RewriteStatepointsForGC/relocate-invoke-result.ll @@ -1,6 +1,6 @@ ;; RUN: opt -rewrite-statepoints-for-gc -verify -S < %s | FileCheck %s -;; RUN: opt -passes=rewrite-statepoints-for-gc -verify -S < %s | FileCheck %s +;; RUN: opt -passes=rewrite-statepoints-for-gc,verify -S < %s | FileCheck %s ;; This test is to verify that RewriteStatepointsForGC correctly relocates values ;; defined by invoke instruction results. diff --git a/llvm/test/Transforms/RewriteStatepointsForGC/rewrite-invoke.ll b/llvm/test/Transforms/RewriteStatepointsForGC/rewrite-invoke.ll --- a/llvm/test/Transforms/RewriteStatepointsForGC/rewrite-invoke.ll +++ b/llvm/test/Transforms/RewriteStatepointsForGC/rewrite-invoke.ll @@ -1,5 +1,5 @@ ; RUN: opt -rewrite-statepoints-for-gc -verify -S < %s | FileCheck %s -; RUN: opt -passes=rewrite-statepoints-for-gc -verify -S < %s | FileCheck %s +; RUN: opt -passes=rewrite-statepoints-for-gc,verify -S < %s | FileCheck %s declare i8 addrspace(1)* @gc_call() diff --git a/llvm/tools/opt/opt.cpp b/llvm/tools/opt/opt.cpp --- a/llvm/tools/opt/opt.cpp +++ b/llvm/tools/opt/opt.cpp @@ -735,6 +735,11 @@ M->addModuleFlag(Module::Error, "EnableSplitLTOUnit", SplitLTOUnit); if (PassPipeline.getNumOccurrences() > 0) { + if (PassList.size()) { + errs() + << "Cannot specify passes via both -foo-pass and --passes=foo-pass"; + return 1; + } OutputKind OK = OK_NoOutput; if (!NoOutput) OK = OutputAssembly