xref: /llvm-project/clang/test/Misc/time-passes.c (revision 98574aa1d24a310ddbabdc668cafee4d499b51e7)
1*98574aa1SArthur Eubanks // Check -ftime-report/-ftime-report= output
2*98574aa1SArthur Eubanks // RUN: %clang_cc1 -emit-obj -O1 \
31821265dSYuanfang Chen // RUN:     -ftime-report %s -o /dev/null 2>&1 | \
41821265dSYuanfang Chen // RUN:     FileCheck %s --check-prefixes=TIME,NPM
5*98574aa1SArthur Eubanks // RUN: %clang_cc1 -emit-obj -O1 \
61821265dSYuanfang Chen // RUN:     -ftime-report=per-pass %s -o /dev/null 2>&1 | \
71821265dSYuanfang Chen // RUN:     FileCheck %s --check-prefixes=TIME,NPM
8*98574aa1SArthur Eubanks // RUN: %clang_cc1 -emit-obj -O1 \
91821265dSYuanfang Chen // RUN:     -ftime-report=per-pass-run %s -o /dev/null 2>&1 | \
101821265dSYuanfang Chen // RUN:     FileCheck %s --check-prefixes=TIME,NPM-PER-INVOKE
111821265dSYuanfang Chen 
121821265dSYuanfang Chen // TIME: Pass execution timing report
131821265dSYuanfang Chen // TIME: Total Execution Time:
141821265dSYuanfang Chen // TIME: Name
151821265dSYuanfang Chen // NPM-PER-INVOKE-DAG:   InstCombinePass #
161821265dSYuanfang Chen // NPM-PER-INVOKE-DAG:   InstCombinePass #
171821265dSYuanfang Chen // NPM-PER-INVOKE-DAG:   InstCombinePass #
181821265dSYuanfang Chen // NPM-NOT:   InstCombinePass #
191821265dSYuanfang Chen // NPM:       InstCombinePass{{$}}
201821265dSYuanfang Chen // NPM-NOT:   InstCombinePass #
211821265dSYuanfang Chen // TIME: Total{{$}}
221821265dSYuanfang Chen // NPM: Pass execution timing report
231821265dSYuanfang Chen 
foo(int x,int y)241821265dSYuanfang Chen int foo(int x, int y) { return x + y; }
25