llvm-project/llvm/unittests/IR
Chandler Carruth edf5996b06 [PM/AA] Teach the new pass manager to use pass-by-lambda for registering
analysis passes, support pre-registering analyses, and use that to
implement parsing and pre-registering a custom alias analysis pipeline.

With this its possible to configure the particular alias analysis
pipeline used by the AAManager from the commandline of opt. I've updated
the test to show this effectively in use to build a pipeline including
basic-aa as part of it.

My big question for reviewers are around the APIs that are used to
expose this functionality. Are folks happy with pass-by-lambda to do
pass registration? Are folks happy with pre-registering analyses as
a way to inject customized instances of an analysis while still using
the registry for the general case?

Other thoughts of course welcome. The next round of patches will be to
add the rest of the alias analyses into the new pass manager and wire
them up here so that they can be used from opt. This will require
extending the (somewhate limited) functionality of AAManager w.r.t.
module passes.

Differential Revision: http://reviews.llvm.org/D17259

llvm-svn: 261197
2016-02-18 09:45:17 +00:00
..
AsmWriterTest.cpp Fix crash when printing instructions that have a metadata attached but no parent. 2016-01-07 20:14:30 +00:00
AttributesTest.cpp
CMakeLists.txt Handle more edge cases in intrinsic name binary search 2016-01-26 22:33:19 +00:00
ConstantRangeTest.cpp [IR] Add a `makeNoWrapRegion` method to `ConstantRange` 2015-10-22 03:12:57 +00:00
ConstantsTest.cpp Reorganize the C API headers to improve build times. 2015-12-18 01:46:52 +00:00
DebugInfoTest.cpp IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DominatorTreeTest.cpp unittests: Remove implicit ilist iterator conversions, NFC 2015-10-20 18:30:20 +00:00
IRBuilderTest.cpp function names start with a lower case letter ; NFC 2016-01-12 18:03:37 +00:00
InstructionsTest.cpp [InstructionsTest] delete via unique_ptr (NFC) 2016-01-15 15:08:36 +00:00
IntrinsicsTest.cpp Handle more edge cases in intrinsic name binary search 2016-01-26 22:33:19 +00:00
LegacyPassManagerTest.cpp unittests: Remove implicit ilist iterator conversions, NFC 2015-10-20 18:30:20 +00:00
MDBuilderTest.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
MetadataTest.cpp Simplify this unittest. 2016-02-08 19:13:15 +00:00
PassManagerTest.cpp [PM/AA] Teach the new pass manager to use pass-by-lambda for registering 2016-02-18 09:45:17 +00:00
PatternMatch.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
TypeBuilderTest.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
TypesTest.cpp Fix several accidental DOS line endings in source files 2016-01-03 17:22:03 +00:00
UseTest.cpp Format: Modernize using variadic templates. 2015-02-15 22:15:41 +00:00
UserTest.cpp [Function] Properly remove use when clearing personality 2015-12-23 18:27:23 +00:00
ValueHandleTest.cpp -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are deprecated in C++11 2015-08-03 22:30:24 +00:00
ValueMapTest.cpp [lit] Fix running gtest type-parameterized tests on Windows 2015-04-06 21:49:55 +00:00
ValueTest.cpp unittests: Remove implicit ilist iterator conversions, NFC 2015-10-20 18:30:20 +00:00
VerifierTest.cpp Fix Clang-tidy modernize-use-nullptr and modernize-use-override warnings; other minor fixes. 2016-01-26 18:48:36 +00:00
WaymarkTest.cpp Fix a leak found by asan. 2014-12-23 17:20:23 +00:00