llvm-project/llvm/test/Other
Yuanfang Chen 1821265db6 [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation
Currently, -ftime-report + new pass manager emits one line of report for each
pass run. This potentially causes huge output text especially with regular LTO
or large single file (Obeserved in private tests and was reported in D51276).
The behaviour of -ftime-report + legacy pass manager is
emitting one line of report for each pass object which has relatively reasonable
text output size. This patch adds a flag `-ftime-report=` to control time report
aggregation for new pass manager.

The flag is for new pass manager only. Using it with legacy pass manager gives
an error. It is a driver and cc1 flag. `per-pass` is the new default so
`-ftime-report` is aliased to `-ftime-report=per-pass`. Before this patch,
functionality-wise `-ftime-report` is aliased to `-ftime-report=per-pass-run`.

* Adds an boolean variable TimePassesHandler::PerRun to control per-pass vs per-pass-run.
* Adds a new clang CodeGen flag CodeGenOptions::TimePassesPerRun to work with the existing CodeGenOptions::TimePasses.
* Remove FrontendOptions::ShowTimers, its uses are replaced by the existing CodeGenOptions::TimePasses.
* Remove FrontendTimesIsEnabled (It was introduced in D45619 which was largely reverted.)

Differential Revision: https://reviews.llvm.org/D92436
2020-12-08 10:13:19 -08:00
..
Inputs
X86 Revert "[PM/CC1] Add -f[no-]split-cold-code CC1 option to toggle splitting" 2020-10-19 12:31:14 +02:00
2002-01-31-CallGraph.ll [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
2002-02-24-InlineBrokePHINodes.ll
2004-08-16-PackedConstantInlineStore.ll
2004-08-16-PackedGlobalConstant.ll
2004-08-16-PackedSelect.ll
2004-08-16-PackedSimple.ll
2004-08-20-PackedControlFlow.ll
2006-02-05-PassManager.ll
2007-06-05-PassID.ll [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
2007-06-28-PassManager.ll [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
2007-09-10-PassManager.ll [NewPM][LoopUnswitch] Pin loop-unswitch to legacy PM or use simple-loop-unswitch 2020-08-06 10:56:00 -07:00
2008-02-14-PassManager.ll
2008-06-04-FieldSizeInPacked.ll
2008-10-06-RemoveDeadPass.ll
2008-10-15-MissingSpace.ll
2009-03-31-CallGraph.ll [PruneEH] Pin tests to legacy PM 2020-10-29 18:17:55 -07:00
2009-06-05-no-implicit-float.ll
2009-09-14-function-elements.ll
2010-05-06-Printer.ll
FileCheck-space.txt
ResponseFile.ll
attribute-comment.ll
available-externally-lto.ll
bb-badref.ll [AsmWriter] Construct SlotTracker with the function 2020-10-20 15:01:40 -07:00
bcanalyzer-block-info.txt
bcanalyzer-dump-option.txt
can-execute.txt
cfg-printer-branch-weights-percent.ll [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
cfg-printer-branch-weights.ll [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
cfg_deopt_unreach.ll [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
cgscc-devirt-iteration.ll [CGSCC] Add -abort-on-max-devirt-iterations-reached option 2020-10-16 12:34:52 -07:00
cgscc-disconnected-invalidation.ll
cgscc-iterate-function-mutation.ll
cgscc-libcall-update.ll
cgscc-observe-devirt.ll
change-printer.ll [NewPM] Make pass adaptors less templatey 2020-12-04 08:30:50 -08:00
cleanup-lcssa.ll
codegenprepare-and-debug.ll
constant-fold-gep-address-spaces.ll
constant-fold-gep.ll [SCEV] Introduce SCEVPtrToIntExpr (PR46786) 2020-10-30 11:13:35 +03:00
cspgo-O2-pipeline.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
debugcounter-dce.ll
debugcounter-earlycse.ll [EarlyCSE] Verify hash code in regression tests 2020-09-04 10:40:35 -04:00
debugcounter-newgvn.ll
debugcounter-predicateinfo.ll [test] Fix tests using -analyze that fail under NPM 2020-10-21 21:54:30 -07:00
devirtualization-undef.ll Reland [CGSCC] Detect devirtualization in more cases 2020-11-23 21:28:59 -08:00
extract-alias.ll
extract-linkonce.ll
extract-weak-odr.ll
extract.ll
heat-colors-graphs.ll [test] Pin tests using -dot-callgraph to legacy PM 2020-11-23 11:48:59 -08:00
heat-colors-multigraph.ll [test] Pin tests using -dot-callgraph to legacy PM 2020-11-23 11:48:59 -08:00
invalid-commandline-option.ll
invariant.group.ll [IR] Make nosync, nofree and willreturn default for intrinsics. 2020-10-20 11:57:19 +02:00
lint.ll OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
lit-globbing.ll
lit-quoting.txt
lit-unicode.txt
llvm-nm-without-aliases.ll
loop-deletion-printer.ll Revert "[LoopDeletion] Allows deletion of possibly infinite side-effect free loops" 2020-11-07 00:32:12 -05:00
loop-pass-ordering.ll
loop-pass-printer.ll [NewPM] Support --print-before/after in NPM 2020-12-03 16:52:14 -08:00
loop-pm-invalidation.ll Revert "[LoopDeletion] Allows deletion of possibly infinite side-effect free loops" 2020-11-07 00:32:12 -05:00
machine-size-remarks.ll
module-pass-printer.ll
new-pass-manager-verify-each.ll [NewPM] Use PassInstrumentation for -verify-each 2020-10-07 19:24:25 -07:00
new-pass-manager.ll [NPM] Move more O0 pass building into PassBuilder 2020-11-19 11:22:23 -08:00
new-pm-O0-defaults.ll Port -lower-matrix-intrinsics-minimal to NPM 2020-11-19 17:42:48 -08:00
new-pm-O0-ep-callbacks.ll [NewPM] Add pipeline EP callback after initial frontend cleanup 2020-11-24 21:14:36 -08:00
new-pm-cspgo.ll
new-pm-defaults.ll [llvm][inliner] Reuse the inliner pass to implement 'always inliner' 2020-11-30 12:03:39 -08:00
new-pm-lto-defaults.ll [llvm][inliner] Reuse the inliner pass to implement 'always inliner' 2020-11-30 12:03:39 -08:00
new-pm-module-inliner-wrapper.ll [llvm][inliner] Reuse the inliner pass to implement 'always inliner' 2020-11-30 12:03:39 -08:00
new-pm-pgo-O0.ll [NPM] Move more O0 pass building into PassBuilder 2020-11-19 11:22:23 -08:00
new-pm-pgo.ll Revert "[PM/CC1] Add -f[no-]split-cold-code CC1 option to toggle splitting" 2020-10-19 12:31:14 +02:00
new-pm-pr42726-cgscc.ll
new-pm-thinlto-defaults.ll [llvm][inliner] Reuse the inliner pass to implement 'always inliner' 2020-11-30 12:03:39 -08:00
new-pm-thinlto-postlink-pgo-defaults.ll [llvm][inliner] Reuse the inliner pass to implement 'always inliner' 2020-11-30 12:03:39 -08:00
new-pm-thinlto-postlink-samplepgo-defaults.ll [llvm][inliner] Reuse the inliner pass to implement 'always inliner' 2020-11-30 12:03:39 -08:00
new-pm-thinlto-prelink-pgo-defaults.ll [llvm][inliner] Reuse the inliner pass to implement 'always inliner' 2020-11-30 12:03:39 -08:00
new-pm-thinlto-prelink-samplepgo-defaults.ll [llvm][inliner] Reuse the inliner pass to implement 'always inliner' 2020-11-30 12:03:39 -08:00
new-pm-time-trace.ll
opt-LTO-pipeline.ll Add !annotation metadata and remarks pass. 2020-11-13 13:24:10 +00:00
opt-O0-pipeline-enable-matrix.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
opt-O0-pipeline.ll Add pass to add !annotate metadata from @llvm.global.annotations. 2020-11-16 14:57:11 +00:00
opt-O2-pipeline.ll [PassManager] Run Induction Variable Simplification pass *after* Recognize loop idioms pass, not before 2020-11-25 19:20:07 +03:00
opt-O3-pipeline-enable-matrix.ll [PassManager] Run Induction Variable Simplification pass *after* Recognize loop idioms pass, not before 2020-11-25 19:20:07 +03:00
opt-O3-pipeline.ll [PassManager] Run Induction Variable Simplification pass *after* Recognize loop idioms pass, not before 2020-11-25 19:20:07 +03:00
opt-Os-pipeline.ll [PassManager] Run Induction Variable Simplification pass *after* Recognize loop idioms pass, not before 2020-11-25 19:20:07 +03:00
opt-bisect-helper.py
opt-bisect-legacy-pass-manager.ll [opt] Pin -stats-json & -opt-bisect-limit tests to -enable-new-pm=0 2020-10-28 22:59:53 -07:00
opt-bisect-new-pass-manager.ll Enable opt-bisect for the new pass manager 2020-11-09 15:57:48 -08:00
opt-hot-cold-split.ll Revert "[PM/CC1] Add -f[no-]split-cold-code CC1 option to toggle splitting" 2020-10-19 12:31:14 +02:00
opt-npm.ll [NewPM] Attempt to run opt passes specified via -foo-pass under NPM 2020-06-23 10:10:40 -07:00
opt-old-new-pm-passes.ll [NPM] Bail out when -foo and --passes=foo are both specified 2020-06-22 08:27:13 -07:00
opt-override-denormal-fp-math-f32.ll [test] Fix unused check prefixes in test/Linker/ and test/Other/ 2020-10-29 21:54:56 -07:00
opt-override-denormal-fp-math-mixed.ll [test] Fix unused check prefixes in test/Linker/ and test/Other/ 2020-10-29 21:54:56 -07:00
opt-override-denormal-fp-math.ll [test] Fix unused check prefixes in test/Linker/ and test/Other/ 2020-10-29 21:54:56 -07:00
opt-override-frame-pointer.ll
opt-override-mcpu-mattr.ll
opt-pipeline-vector-passes.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
opt-twice.ll
optimization-remarks-auto.ll [Remarks][2/2] Expand remarks hotness threshold option support in more tools 2020-11-30 21:55:50 -08:00
optimization-remarks-inline.ll
optimization-remarks-invalidation.ll
optimization-remarks-lazy-bfi.ll
optimize-inrange-gep.ll
optimize-options.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
pass-pipeline-parsing.ll [NewPM] Make pass adaptors less templatey 2020-12-04 08:30:50 -08:00
pass-pipelines.ll Revert "[PM/CC1] Add -f[no-]split-cold-code CC1 option to toggle splitting" 2020-10-19 12:31:14 +02:00
pipefail.txt
pr32085.ll
print-before-after.ll [NewPM] Support --print-before/after in NPM 2020-12-03 16:52:14 -08:00
print-cfg-sccs.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
print-debug-counter.ll [EarlyCSE] Verify hash code in regression tests 2020-09-04 10:40:35 -04:00
print-module-scope.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
print-slotindexes.ll
printer.ll [NewPM] Pin various tests under Other/ to legacy PM 2020-08-17 18:58:08 -07:00
scalable-vector-array.ll
scalable-vector-struct.ll
scalable-vectors-core-ir.ll
scc-deleted-printer.ll [Inliner] Run always-inliner in inliner-wrapper 2020-10-22 19:16:25 -07:00
scc-pass-printer.ll [test] Make scc-pass-printer.ll work with NPM 2020-11-17 23:53:47 -08:00
size-remarks.ll [test] Pin size-remarks.ll to legacy PM 2020-11-17 23:47:49 -08:00
spir_cc.ll
statistic.ll [opt] Pin -stats-json & -opt-bisect-limit tests to -enable-new-pm=0 2020-10-28 22:59:53 -07:00
time-passes.ll [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation 2020-12-08 10:13:19 -08:00
unroll-sroa.ll
writing-to-stdout.ll