; Check pass name is only printed once.
; Check only one function is printed
; RUN: opt < %s 2>&1 -passes=forceattrs -disable-output -print-after-all -filter-print-funcs=foo | FileCheck %s  -check-prefix=FOO
; RUN: opt < %s 2>&1 -passes=forceattrs -disable-output -print-after-all -filter-print-funcs=foo | FileCheck %s  -check-prefix=FOO

; Check pass name is only printed once.
; Check both functions are printed
; RUN: opt < %s 2>&1 -passes=forceattrs -disable-output -print-after-all -filter-print-funcs=foo,bar | FileCheck %s -check-prefix=BOTH
; RUN: opt < %s 2>&1 -passes=forceattrs -disable-output -print-after-all -filter-print-funcs=foo,bar | FileCheck %s -check-prefix=BOTH

; Check pass name is not printed if a module/SCC doesn't include any function specified in -filter-print-funcs.
; RUN: opt < %s 2>&1 -passes=forceattrs -disable-output -print-after-all -filter-print-funcs=baz | FileCheck %s -allow-empty -check-prefix=EMPTY
; RUN: opt < %s 2>&1 -passes=forceattrs -disable-output -print-after-all -filter-print-funcs=baz | FileCheck %s -allow-empty -check-prefix=EMPTY
; RUN: opt < %s 2>&1 -passes=no-op-cgscc -disable-output -print-after-all -filter-print-funcs=baz | FileCheck %s -allow-empty -check-prefix=EMPTY

; Check whole module is printed with user-specified wildcast switch -filter-print-funcs=* or -print-module-scope
; RUN: opt < %s 2>&1 -passes=forceattrs -disable-output -print-after-all | FileCheck %s -check-prefix=ALL
; RUN: opt < %s 2>&1 -passes=forceattrs -disable-output  -print-after-all -filter-print-funcs=* | FileCheck %s -check-prefix=ALL
; RUN: opt < %s 2>&1 -passes=forceattrs -disable-output -print-after-all -filter-print-funcs=foo -print-module-scope | FileCheck %s -check-prefix=ALL
; RUN: opt < %s 2>&1 -passes=forceattrs -disable-output -print-after-all | FileCheck %s -check-prefix=ALL
; RUN: opt < %s 2>&1 -passes=forceattrs -disable-output -print-after-all -filter-print-funcs=* | FileCheck %s -check-prefix=ALL
; RUN: opt < %s 2>&1 -passes=forceattrs -disable-output -print-after-all -filter-print-funcs=foo -print-module-scope | FileCheck %s -check-prefix=ALL

; FOO:      IR Dump After {{Force set function attributes|ForceFunctionAttrsPass}}
; FOO:      define void @foo
; FOO-NOT:  define void @bar
; FOO-NOT:  IR Dump After {{Force set function attributes|ForceFunctionAttrsPass}}

; BOTH:     IR Dump After {{Force set function attributes|ForceFunctionAttrsPass}}
; BOTH:     define void @foo
; BOTH:     define void @bar
; BOTH-NOT: IR Dump After {{Force set function attributes|ForceFunctionAttrsPass}}
; BOTH-NOT: ModuleID =

; EMPTY-NOT: IR Dump After {{Force set function attributes|ForceFunctionAttrsPass}}
; EMPTY-NOT: IR Dump After NoOp

; ALL:  IR Dump After {{Force set function attributes|ForceFunctionAttrsPass}}
; ALL:  ModuleID =
; ALL:  define void @foo
; ALL:  define void @bar
; ALL-NOT: IR Dump After {{Force set function attributes|ForceFunctionAttrsPass}}

define void @foo() {
  ret void
}

define void @bar() {
  ret void
}
