mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 12:12:47 +01:00
8c7ac7cd6f
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
40 lines
1.0 KiB
LLVM
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()
|