blob: 34fd6995642af9ac9ffdc560c7be6616dbe3a30f [file] [log] [blame]
; RUN: opt -passes='function(require<no-op-function>),cgscc(function-attrs)' -disable-output < %s -debug-pass-manager 2>&1 | FileCheck %s
; CHECK: Running pass: PostOrderFunctionAttrsPass on (f)
; CHECK: Invalidating analysis: NoOpFunctionAnalysis on f
; CHECK-NOT: Invalidating analysis: NoOpFunctionAnalysis on h
; CHECK: Invalidating analysis: NoOpFunctionAnalysis on g
; CHECK-NOT: Invalidating analysis: NoOpFunctionAnalysis on h
; CHECK: Running pass: PostOrderFunctionAttrsPass on (g)
; CHECK: Running pass: PostOrderFunctionAttrsPass on (h)
declare i32 @e(i32(i32)*)
define i32 @f(i32 %a) {
ret i32 %a
}
define i32 @g(i32 %b) {
%c = call i32 @f(i32 %b)
ret i32 %c
}
define i32 @h(i32 %b) {
%c = call i32 @e(i32(i32)* @f)
ret i32 %c
}