llvm-project/llvm/lib/Transforms/IPO
Evgeniy Stepanov 8537d9994d Don't merge global constants with non-dbg metadata.
!type metadata can not be dropped. An alternative to this is adding
!type metadata from the replaced globals to the replacement, but that
may weaken type tests and make them slower at the same time.

The merged global gets !dbg metadata from replaced globals, and can
end up with multiple debug locations.

llvm-svn: 297327
2017-03-09 00:03:37 +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 Don't merge global constants with non-dbg metadata. 2017-03-09 00:03:37 +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 FunctionAttrs: Factor out a function for querying memory access of a specific copy of a function. NFC. 2017-02-14 00:28:13 +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 Fix one-after-the-end type metadata handling in globalsplit. 2017-03-07 22:18:48 +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 Do not apply redundant LastCallToStaticBonus 2017-02-14 17:30:05 +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 Disable gvn-hoist (PR32153) 2017-03-06 21:10:40 +00:00
PruneEH.cpp [PruneEH] Be correct in the face IPO 2016-10-03 19:35:30 +00:00
SampleProfile.cpp Remove the sample pgo annotation heuristic that uses call count to annotate basic block count. 2017-03-06 17:49:59 +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: Do not follow operand edges of type GlobalValue when looking for virtual functions. 2017-03-02 23:10:17 +00:00
WholeProgramDevirt.cpp Fix build. 2017-03-04 01:38:05 +00:00