llvm-project/llvm/lib/Transforms/IPO
Chandler Carruth addcda483e [PM] Port ArgumentPromotion to the new pass manager.
Now that the call graph supports efficient replacement of a function and
spurious reference edges, we can port ArgumentPromotion to the new pass
manager very easily.

The old PM-specific bits are sunk into callbacks that the new PM simply
doesn't use. Unlike the old PM, the new PM simply does argument
promotion and afterward does the update to LCG reflecting the promoted
function.

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

llvm-svn: 294667
2017-02-09 23:46:27 +00:00
..
AlwaysInliner.cpp [PM] Teach the always inliner in the new pass manager to support 2016-12-26 23:43:27 +00:00
ArgumentPromotion.cpp [PM] Port ArgumentPromotion to the new pass manager. 2017-02-09 23:46:27 +00:00
BarrierNoopPass.cpp
CMakeLists.txt IPO: Introduce ThinLTOBitcodeWriter pass. 2016-12-16 00:26:30 +00:00
ConstantMerge.cpp [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
CrossDSOCFI.cpp Consistently use ModuleAnalysisManager 2016-08-09 00:28:38 +00:00
DeadArgumentElimination.cpp Replace some callers of setTailCall with setTailCallKind 2016-11-25 22:35:09 +00:00
ElimAvailExtern.cpp [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
ExtractGV.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
ForceFunctionAttrs.cpp [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
FunctionAttrs.cpp De-duplicate some code for creating an AARGetter suitable for the legacy PM. 2017-02-09 23:11:52 +00:00
FunctionImport.cpp IRMover: Merge flags LinkModuleInlineAsm and IsPerformingImport. 2017-02-03 17:01:14 +00:00
GlobalDCE.cpp Global DCE performance improvement 2017-01-27 19:48:57 +00:00
GlobalOpt.cpp [Analysis] Add LibFunc_ prefix to enums in TargetLibraryInfo. (NFC) 2017-01-23 23:16:46 +00:00
GlobalSplit.cpp [GlobalSplit] Port to the new pass manager. 2016-11-21 00:28:23 +00:00
IPConstantPropagation.cpp [IPCP] Don't propagate return value for naked functions. 2017-02-04 19:44:14 +00:00
IPO.cpp Introduce GlobalSplit pass. 2016-11-16 23:40:26 +00:00
InferFunctionAttrs.cpp Consistently use ModuleAnalysisManager 2016-08-09 00:28:38 +00:00
InlineSimple.cpp Improve PGO support for the new inliner 2017-01-20 22:44:04 +00:00
Inliner.cpp [PM/LCG] Teach the LazyCallGraph how to replace a function without 2017-02-09 23:24:13 +00:00
Internalize.cpp Consistently use ModuleAnalysisManager 2016-08-09 00:28:38 +00:00
LLVMBuild.txt Add missing library dep. 2016-12-16 00:43:00 +00:00
LoopExtractor.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
LowerTypeTests.cpp Rename LowerTypeTestsSummaryAction to PassSummaryAction. NFCI. 2017-02-09 21:45:01 +00:00
MergeFunctions.cpp Use print() instead of dump() in code 2017-01-28 06:53:55 +00:00
PartialInlining.cpp Apply clang-tidy's performance-unnecessary-value-param to LLVM. 2017-01-13 14:39:03 +00:00
PassManagerBuilder.cpp Rename LowerTypeTestsSummaryAction to PassSummaryAction. NFCI. 2017-02-09 21:45:01 +00:00
PruneEH.cpp [PruneEH] Be correct in the face IPO 2016-10-03 19:35:30 +00:00
SampleProfile.cpp Fix the samplepgo indirect call promotion bug: we should not promote a direct call. 2017-02-06 23:33:15 +00:00
StripDeadPrototypes.cpp [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
StripSymbols.cpp [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
ThinLTOBitcodeWriter.cpp ThinLTOBitcodeWriter: Strip debug info from merged module. 2017-02-08 20:44:00 +00:00
WholeProgramDevirt.cpp WholeProgramDevirt: Check that VCP candidate functions are defined before evaluating them. 2017-02-09 23:46:26 +00:00