[PM] Wire up support for explicitly running the verifier pass.
authorChandler Carruth <chandlerc@gmail.com>
Mon, 5 Jan 2015 00:08:53 +0000 (00:08 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Mon, 5 Jan 2015 00:08:53 +0000 (00:08 +0000)
The required functionality has been there for some time, but I never
managed to actually wire it into the command line registry of passes.
Let's do that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225144 91177308-0d34-0410-b5e6-96231b3b80d8

test/Other/new-pass-manager.ll
tools/opt/PassRegistry.def

index cec01b54ff0cd860ff1c9c7dd9eda8bd406c5f5c..2c565e6944cdbf159e9c18e60e4a3c7ba660a091 100644 (file)
 ; CHECK-MODULE-PRINT: Running module pass: VerifierPass
 ; CHECK-MODULE-PRINT: Finished module pass manager
 
+; RUN: opt -disable-output -debug-pass-manager -disable-verify -passes='print,verify' %s 2>&1 \
+; RUN:     | FileCheck %s --check-prefix=CHECK-MODULE-VERIFY
+; CHECK-MODULE-VERIFY: Starting module pass manager
+; CHECK-MODULE-VERIFY: Running module pass: PrintModulePass
+; CHECK-MODULE-VERIFY: ModuleID
+; CHECK-MODULE-VERIFY: define void @foo()
+; CHECK-MODULE-VERIFY: Running module pass: VerifierPass
+; CHECK-MODULE-VERIFY: Finished module pass manager
+
 ; RUN: opt -disable-output -debug-pass-manager -passes='function(print)' %s 2>&1 \
 ; RUN:     | FileCheck %s --check-prefix=CHECK-FUNCTION-PRINT
 ; CHECK-FUNCTION-PRINT: Starting module pass manager
 ; CHECK-FUNCTION-PRINT: Running module pass: VerifierPass
 ; CHECK-FUNCTION-PRINT: Finished module pass manager
 
+; RUN: opt -disable-output -debug-pass-manager -disable-verify -passes='function(print,verify)' %s 2>&1 \
+; RUN:     | FileCheck %s --check-prefix=CHECK-FUNCTION-VERIFY
+; CHECK-FUNCTION-VERIFY: Starting module pass manager
+; CHECK-FUNCTION-VERIFY: Starting function pass manager
+; CHECK-FUNCTION-VERIFY: Running function pass: PrintFunctionPass
+; CHECK-FUNCTION-VERIFY-NOT: ModuleID
+; CHECK-FUNCTION-VERIFY: define void @foo()
+; CHECK-FUNCTION-VERIFY: Running function pass: VerifierPass
+; CHECK-FUNCTION-VERIFY: Finished function pass manager
+; CHECK-FUNCTION-VERIFY: Finished module pass manager
+
 ; RUN: opt -S -o - -passes='no-op-module,no-op-module' %s \
 ; RUN:     | FileCheck %s --check-prefix=CHECK-NOOP
 ; CHECK-NOOP: define void @foo() {
index e1e49004c7414d8c3888a5c49a9b8074a3da97e1..ed7fdf125d596ebb1023534a187335ac3bd71342 100644 (file)
@@ -27,6 +27,7 @@ MODULE_ANALYSIS("lcg", LazyCallGraphAnalysis())
 #endif
 MODULE_PASS("print", PrintModulePass(dbgs()))
 MODULE_PASS("print-cg", LazyCallGraphPrinterPass(dbgs()))
+MODULE_PASS("verify", VerifierPass())
 #undef MODULE_PASS
 
 #ifndef CGSCC_ANALYSIS
@@ -48,4 +49,5 @@ MODULE_PASS("print-cg", LazyCallGraphPrinterPass(dbgs()))
 #define FUNCTION_PASS(NAME, CREATE_PASS)
 #endif
 FUNCTION_PASS("print", PrintFunctionPass(dbgs()))
+FUNCTION_PASS("verify", VerifierPass())
 #undef FUNCTION_PASS