llvm/test/Other
Philip Pfaffe 19045617b3 [PM] Enable registration of out-of-tree passes with PassBuilder
Summary:
This patch adds a callback registration API to the PassBuilder,
enabling registering out-of-tree passes with it.

Through the Callback API, callers may register callbacks with the
various stages at which passes are added into pass managers, including
parsing of a pass pipeline as well as at extension points within the
default -O pipelines.

Registering utilities like `require<>` and `invalidate<>` needs to be
handled manually by the caller, but a helper is provided.

Additionally, adding passes at pipeline extension points is exposed
through the opt tool. This patch adds a `-passes-ep-X` commandline
option for every extension point X, which opt parses into pipelines
inserted into that extension point.

Reviewers: chandlerc

Reviewed By: chandlerc

Subscribers: lksbhm, grosser, davide, mehdi_amini, llvm-commits, mgorny

Differential Revision: https://reviews.llvm.org/D33464

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307532 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-10 10:57:55 +00:00
..
Inputs Handle invariant.group.barrier in BasicAA 2017-04-24 19:37:17 +00:00
X86 Include SelectionDAGISel in the opt-bisect process 2016-07-07 18:55:02 +00:00
2002-01-31-CallGraph.ll
2002-02-24-InlineBrokePHINodes.ll
2002-03-11-ConstPropCrash.ll
2003-02-19-LoopInfoNestingBug.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-04-24-eliminate-mostly-empty-blocks.ll
2007-06-05-PassID.ll [PM] Port CFGViewer and CFGPrinter to the new Pass Manager 2016-09-15 18:35:27 +00:00
2007-06-28-PassManager.ll
2007-09-10-PassManager.ll
2008-02-14-PassManager.ll
2008-06-04-FieldSizeInPacked.ll
2008-10-06-RemoveDeadPass.ll
2008-10-15-MissingSpace.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
2009-03-31-CallGraph.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
2009-06-05-no-implicit-float.ll
2009-09-14-function-elements.ll
2010-05-06-Printer.ll Recommit r256952 "Filtering IR printing for print-after-all/print-before-all" 2016-01-06 22:55:03 +00:00
attribute-comment.ll
bcanalyzer-block-info.txt
can-execute.txt
cgscc-devirt-iteration.ll [PM] Add devirtualization-based iteration utility into the new PM's 2017-02-12 05:38:04 +00:00
cgscc-iterate-function-mutation.ll [PM] Introduce basic update capabilities to the new PM's CGSCC pass 2016-08-24 09:37:14 +00:00
cgscc-observe-devirt.ll [PM] Introduce a devirtualization iteration layer for the new PM. 2016-12-28 11:07:33 +00:00
cleanup-lcssa.ll [PM] Schedule InstSimplify after late LICM run, to clean up LCSSA nodes. 2016-06-02 22:14:26 +00:00
close-stderr.ll
constant-fold-gep-address-spaces.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
constant-fold-gep.ll opt: Rename -default-data-layout flag to -data-layout and make it always override the layout. 2017-02-17 17:36:52 +00:00
debugcounter-newgvn.ll NewGVN: Add debug counter for value numbering 2017-03-01 19:59:26 +00:00
debugcounter-predicateinfo.ll NewGVN: Add debug counter for value numbering 2017-03-01 19:59:26 +00:00
extract-alias.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
extract-linkonce.ll
extract-weak-odr.ll
extract.ll [llvm-extract] Drop comdats from declarations 2015-07-06 18:48:02 +00:00
FileCheck-space.txt
invalid-commandline-option.ll
invariant.group.barrier.ll Remove readnone from invariant.group.barrier 2017-04-12 20:45:12 +00:00
lint.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
lit-globbing.ll Revert "[lit] Clean output directories before running tests." 2017-06-30 16:05:03 +00:00
lit-quoting.txt [lit] Work around Windows MSys command line tokenization bug 2016-10-26 20:29:27 +00:00
lit-unicode.txt
llvm-nm-without-aliases.ll [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
loop-pass-ordering.ll [PM] Rewrite the loop pass manager to use a worklist and augmented run 2017-01-11 06:23:21 +00:00
loop-pm-invalidation.ll [PM] Relax the patterns used in the new test I added because some 2017-02-10 08:48:50 +00:00
new-pass-manager.ll [PM] Fix a bug in the new loop PM when handling functions with no loops. 2017-02-10 08:26:58 +00:00
new-pm-defaults.ll [PM] Enable registration of out-of-tree passes with PassBuilder 2017-07-10 10:57:55 +00:00
new-pm-lto-defaults.ll [PM] Enable registration of out-of-tree passes with PassBuilder 2017-07-10 10:57:55 +00:00
new-pm-thinlto-defaults.ll [ThinkLTO] Invoke build(Thin)?LTOPreLinkDefaultPipeline. 2017-06-29 23:08:38 +00:00
opt-bisect-helper.py Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
opt-bisect-legacy-pass-manager.ll opt-bisect-legacy-pass-manager.ll: Test only works with default triple configured 2016-08-03 20:28:19 +00:00
opt-override-mcpu-mattr.ll Let llc and opt override "-target-cpu" and "-target-features" via command line 2015-05-06 23:54:14 +00:00
opt-twice.ll [llc/opt] Add an option to run all passes twice 2015-12-04 21:56:46 +00:00
optimization-remarks-inline.ll
optimization-remarks-invalidation.ll Correct a typo, s/hosting/hoisting/ 2017-02-14 16:41:10 +00:00
optimization-remarks-lazy-bfi.ll Move test of lazy BFI with ORE to a generic directory 2017-01-13 00:16:23 +00:00
optimize-options.ll
pass-pipeline-parsing.ll [PM] Rewrite the loop pass manager to use a worklist and augmented run 2017-01-11 06:23:21 +00:00
pass-pipelines.ll Simplify the CFG after loop pass cleanup. 2017-04-26 12:02:41 +00:00
pipefail.txt
pr32085.ll Simplify the CFG after loop pass cleanup. 2017-04-26 12:02:41 +00:00
ResponseFile.ll Try to get ResponseFile.ll passing on Windows after r267556. 2016-04-26 20:32:51 +00:00
spir_cc.ll
statistic.ll Statistic/Timer: Include timers in PrintStatisticsJSON(). 2016-11-18 19:43:24 +00:00
umask.ll
writing-to-stdout.ll Bring back r297624. 2017-03-13 20:00:25 +00:00