1; RUN: opt -passes='function(require<no-op-function>),cgscc(function-attrs)' -disable-output < %s -debug-pass-manager 2>&1 | FileCheck %s 2 3; CHECK: Running pass: PostOrderFunctionAttrsPass on (f) 4; CHECK: Invalidating analysis: NoOpFunctionAnalysis on f 5; CHECK-NOT: Invalidating analysis: NoOpFunctionAnalysis on h 6; CHECK: Invalidating analysis: NoOpFunctionAnalysis on g 7; CHECK-NOT: Invalidating analysis: NoOpFunctionAnalysis on h 8; CHECK: Running pass: PostOrderFunctionAttrsPass on (g) 9; CHECK: Running pass: PostOrderFunctionAttrsPass on (h) 10 11declare i32 @e(ptr) 12 13define i32 @f(i32 %a) { 14 ret i32 %a 15} 16 17define i32 @g(i32 %b) { 18 %c = call i32 @f(i32 %b) 19 ret i32 %c 20} 21 22define i32 @h(i32 %b) { 23 %c = call i32 @e(ptr @f) 24 ret i32 %c 25} 26