| ; Check pass name is only printed once. |
| ; Check only one function is printed |
| ; RUN: opt < %s 2>&1 -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 -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 -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 -forceattrs -disable-output -print-after-all | FileCheck %s -check-prefix=ALL |
| ; RUN: opt < %s 2>&1 -forceattrs -disable-output -print-after-all -filter-print-funcs=* | FileCheck %s -check-prefix=ALL |
| ; RUN: opt < %s 2>&1 -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 |
| } |