[opt] Print deprecation warning for use of legacy syntax with new pass manager
And a possible opt invocation plus a link to more extensive documentation. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D136617
This commit is contained in:
parent
8d41609924
commit
d7816057d7
|
@ -0,0 +1,12 @@
|
|||
; REQUIRES: x86-registered-target
|
||||
|
||||
; RUN: opt /dev/null -disable-output 2>&1 | FileCheck %s --check-prefix=OK --allow-empty
|
||||
; RUN: opt /dev/null -disable-output -passes=instcombine 2>&1 | FileCheck %s --check-prefix=OK --allow-empty
|
||||
; RUN: opt /dev/null -disable-output -instcombine 2>&1 | FileCheck %s --check-prefix=WARN
|
||||
; RUN: opt /dev/null -disable-output -instcombine -globaldce 2>&1 | FileCheck %s --check-prefix=WARN
|
||||
; RUN: opt /dev/null -disable-output -instcombine -enable-new-pm=0 2>&1 | FileCheck %s --check-prefix=OK --allow-empty
|
||||
; RUN: opt /dev/null -disable-output -codegenprepare -mtriple=x86_64-unknown-linux-gnu 2>&1 | FileCheck %s --check-prefix=OK --allow-empty
|
||||
|
||||
; OK-NOT: deprecated
|
||||
|
||||
; WARN: The `opt -passname` syntax for the new pass manager is deprecated, please use `opt -passes=<pipeline>` (or the `-p` alias for a more concise version).
|
|
@ -713,6 +713,13 @@ int main(int argc, char **argv) {
|
|||
"-passes='default<O#>,other-pass'\n";
|
||||
return 1;
|
||||
}
|
||||
if (!PassList.empty()) {
|
||||
errs() << "The `opt -passname` syntax for the new pass manager is "
|
||||
"deprecated, please use `opt -passes=<pipeline>` (or the `-p` "
|
||||
"alias for a more concise version).\n";
|
||||
errs() << "See https://llvm.org/docs/NewPassManager.html#invoking-opt "
|
||||
"for more details on the pass pipeline syntax.\n\n";
|
||||
}
|
||||
std::string Pipeline = PassPipeline;
|
||||
|
||||
SmallVector<StringRef, 4> Passes;
|
||||
|
|
Loading…
Reference in New Issue