1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/test/Other/new-pass-manager-verify-each.ll
Arthur Eubanks 8c7ac7cd6f [NewPM] Use PassInstrumentation for -verify-each
This removes "VerifyEachPass" parameters from a lot of functions which is nice.

Don't verify after special passes or VerifierPass.

This introduces verification on loop and cgscc passes, verifying the corresponding function/module.

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D88764
2020-10-07 19:24:25 -07:00

40 lines
1.0 KiB
LLVM

; RUN: opt -disable-output -debug-pass-manager -verify-each -passes='no-op-module,verify,cgscc(no-op-cgscc,function(no-op-function,loop(no-op-loop)))' %s 2>&1 | FileCheck %s
; Added manually by opt at beginning
; CHECK: Running pass: VerifierPass
; CHECK: Running pass: NoOpModulePass
; CHECK: Verifying module
; CHECK-NOT: Verifying module
; CHECK: Running pass: NoOpCGSCCPass
; CHECK: Verifying module
; CHECK-NOT: Verifying module
; CHECK: Running pass: NoOpFunctionPass
; CHECK: Verifying function foo
; CHECK: Running pass: LoopSimplifyPass
; CHECK: Verifying function foo
; CHECK: Running pass: LCSSAPass
; CHECK: Verifying function foo
; CHECK: Running pass: NoOpLoopPass
; CHECK: Verifying function foo
; CHECK-NOT: Verifying function
; CHECK-NOT: Verifying module
; Added manually by opt at end
; CHECK: Running pass: VerifierPass
define void @foo(i1 %x, i8* %p1, i8* %p2) {
entry:
store i8 42, i8* %p1
br i1 %x, label %loop, label %exit
loop:
%tmp1 = load i8, i8* %p2
br label %loop
exit:
ret void
}
declare void @bar()