1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/include/llvm/Analysis
Teresa Johnson e53f3c1bec [Inliner] Inlining should honor nobuiltin attributes
Summary:
Final patch in series to fix inlining between functions with different
nobuiltin attributes/options, which was specifically an issue in LTO.
See discussion on D61634 for background.

The prior patch in this series (D67923) enabled per-Function TLI
construction that identified the nobuiltin attributes.

Here I have allowed inlining to proceed if the callee's nobuiltins are a
subset of the caller's nobuiltins, but not in the reverse case, which
should be conservatively correct. This is controlled by a new option,
-inline-caller-superset-nobuiltin, which is enabled by default.

Reviewers: hfinkel, gchatelet, chandlerc, davidxl

Subscribers: arsenm, jvesely, nhaehnle, mehdi_amini, eraman, hiraditya, haicheng, dexonsmith, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74162
2020-02-28 07:34:14 -08:00
..
Utils Reland [DataLayout] Fix occurrences that size and range of pointers are assumed to be the same. 2019-12-13 14:30:21 +00:00
AliasAnalysis.h [IR] Lazily number instructions for local dominance queries 2020-02-18 14:44:24 -08:00
AliasAnalysisEvaluator.h
AliasSetTracker.h AliasSetTracker - fix uninitialized variable warnings. NFCI. 2019-11-04 15:35:20 +00:00
AssumptionCache.h AssumptionCache: remove old affected values after RAUW. 2019-08-16 09:34:27 +00:00
BasicAliasAnalysis.h
BlockFrequencyInfo.h Add optional arg to profile count getters to filter 2019-04-24 19:51:16 +00:00
BlockFrequencyInfoImpl.h [BFI] Add a debug check for unknown block queries. 2020-02-04 10:05:28 -08:00
BranchProbabilityInfo.h [BrachProbablityInfo] Add invalidate method. 2020-01-17 10:47:51 -08:00
CallGraph.h Introduce a CallGraph updater helper class 2020-02-08 14:16:48 -06:00
CallGraphSCCPass.h
CallPrinter.h
CaptureTracking.h [IR] Lazily number instructions for local dominance queries 2020-02-18 14:44:24 -08:00
CFG.h Recommit "[GVN] Preserve loop related analysis/canonical forms." 2019-07-31 09:27:54 +00:00
CFGPrinter.h Flags for displaying only hot nodes in CFGPrinter graph 2020-02-21 17:20:00 -08:00
CFLAliasAnalysisUtils.h
CFLAndersAliasAnalysis.h Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
CFLSteensAliasAnalysis.h Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
CGSCCPassManager.h [PM][CGSCC] Add a helper to update the call graph from SCC passes 2020-02-02 23:32:18 -06:00
CmpInstAnalysis.h
CodeMetrics.h
ConstantFolding.h Add FNeg IR constant folding support 2019-05-05 16:07:09 +00:00
DDG.h [DDG] Data Dependence Graph - Graph Simplification 2020-02-19 13:41:51 -05:00
DemandedBits.h
DependenceAnalysis.h [DA] Delinearization of fixed-size multi-dimensional arrays 2020-02-27 10:29:01 -05:00
DependenceGraphBuilder.h [DDG] Data Dependence Graph - Graph Simplification 2020-02-19 13:41:51 -05:00
DivergenceAnalysis.h [DivergenceAnalysis] Add methods for querying divergence at use 2019-07-29 10:22:09 +00:00
DominanceFrontier.h
DominanceFrontierImpl.h
DomPrinter.h
DomTreeUpdater.h
DOTGraphTraitsPass.h Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFC 2019-08-05 05:43:48 +00:00
EHPersonalities.h
GlobalsModRef.h [GlobalsModRef] Add invalidate method 2020-01-17 10:33:54 -08:00
GuardUtils.h Further cleanup manipulation of widenable branches [NFC] 2019-11-21 15:07:30 -08:00
IndirectCallPromotionAnalysis.h
IndirectCallVisitor.h
InlineCost.h [Inliner] Inlining should honor nobuiltin attributes 2020-02-28 07:34:14 -08:00
InstructionPrecedenceTracking.h
InstructionSimplify.h Add InstCombine/InstructionSimplify support for Freeze Instruction 2019-11-12 12:13:26 +09:00
Interval.h
IntervalIterator.h
IntervalPartition.h Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
IteratedDominanceFrontier.h Minor cleanup. 2019-07-12 16:13:29 +00:00
IVDescriptors.h Save the induction binary operator in IVDescriptors for non FP induction variables. 2019-05-14 13:26:36 +00:00
IVUsers.h
LazyBlockFrequencyInfo.h
LazyBranchProbabilityInfo.h
LazyCallGraph.h Re-land "Add LazyCallGraph API to add function to RefSCC" 2020-02-17 16:59:25 -05:00
LazyValueInfo.h Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
LegacyDivergenceAnalysis.h Resubmit: [DA][TTI][AMDGPU] Add option to select GPUDA with TTI 2020-01-24 10:39:40 -08:00
Lint.h
Loads.h [Alignment][NFC] Finish transition for Loads 2019-10-21 15:10:26 +00:00
LoopAccessAnalysis.h Sink all InitializePasses.h includes 2019-11-13 16:34:37 -08:00
LoopAnalysisManager.h [LoopPassManager + MemorySSA] Only enable use of MemorySSA for LPMs known to preserve it. 2019-08-21 17:00:57 +00:00
LoopCacheAnalysis.h Title: Fix build warning for operator<< when using GCC 7. 2019-08-12 22:20:54 +00:00
LoopInfo.h [Analysis][Docs] Parents of loops documentation. 2020-02-21 17:11:53 -06:00
LoopInfoImpl.h [NFC] Fixes -Wrange-loop-analysis warnings 2020-01-01 20:01:37 +01:00
LoopIterator.h
LoopPass.h NFC. Remove obsolete SimpleAnalysis infrastructure 2020-01-23 13:58:30 +07:00
LoopUnrollAnalyzer.h
MemoryBuiltins.h [InstCombine] Annotate strdup with deref_or_null 2019-09-17 10:12:48 +00:00
MemoryDependenceAnalysis.h [DependenceAnalysis] Memory dependence analysis internal caching mechanism is broken in presence of TBAA (PR42733). 2020-02-21 20:20:36 +07:00
MemoryLocation.h [AArch64][SVE] Add patterns for unpredicated load/store to frame-indices. 2020-01-22 14:32:27 +00:00
MemorySSA.h [MemorySSA] Combine verifications. 2019-11-25 16:05:38 -08:00
MemorySSAUpdater.h [MemorySSA] Make Phi cleanups consistent. 2019-08-20 22:47:58 +00:00
ModuleSummaryAnalysis.h
MustExecute.h [MustExecute] Add backward exploration for must-be-executed-context 2020-02-20 14:49:30 +09:00
ObjCARCAliasAnalysis.h
ObjCARCAnalysisUtils.h
ObjCARCInstKind.h [ObjC][ARC] Delete ObjC runtime calls on global variables annotated 2019-06-14 22:06:32 +00:00
OptimizationRemarkEmitter.h [Remarks] Extend the RemarkStreamer to support other emitters 2020-02-04 17:16:02 -08:00
OrderedInstructions.h [IR] Lazily number instructions for local dominance queries 2020-02-18 14:44:24 -08:00
Passes.h [MustExec] Add a generic "must-be-executed-context" explorer 2019-08-23 15:17:27 +00:00
PHITransAddr.h
PhiValues.h [PhiValues] Remove redundant map searches 2019-11-23 10:32:56 +02:00
PostDominators.h [CodeMoverUtils] Added an API to check if an instruction can be safely 2019-11-22 21:29:08 +00:00
ProfileSummaryInfo.h [PGO][PGSO] ProfileSummary changes. 2019-09-24 22:17:51 +00:00
PtrUseVisitor.h Reland [DataLayout] Fix occurrences that size and range of pointers are assumed to be the same. 2019-12-13 14:30:21 +00:00
RegionInfo.h Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
RegionInfoImpl.h Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
RegionIterator.h
RegionPass.h
RegionPrinter.h
ScalarEvolution.h [NFC] [DA] Refactoring getIndexExpressionsFromGEP 2020-02-24 17:32:30 -05:00
ScalarEvolutionAliasAnalysis.h
ScalarEvolutionExpander.h [SCEV][IndVars] Always provide insertion point to the SCEVExpander::isHighCostExpansion() 2020-02-25 23:05:59 +03:00
ScalarEvolutionExpressions.h Move static function to inline function - this fixes a conceivable 2020-01-16 16:12:46 -08:00
ScalarEvolutionNormalization.h
ScopedNoAliasAA.h
SparsePropagation.h
StackSafetyAnalysis.h
SyncDependenceAnalysis.h
SyntheticCountsUtils.h
TargetFolder.h Reapply "[IRBuilder] Virtualize IRBuilder" 2020-02-17 19:04:11 +01:00
TargetLibraryInfo.def [ConstantFolding] Fold calls to FP remainder function 2020-02-12 13:21:18 +02:00
TargetLibraryInfo.h [Inliner] Inlining should honor nobuiltin attributes 2020-02-28 07:34:14 -08:00
TargetTransformInfo.h Resubmit: [DA][TTI][AMDGPU] Add option to select GPUDA with TTI 2020-01-24 10:39:40 -08:00
TargetTransformInfoImpl.h [TTI] Let getOperationCost assume that Freeze is free 2020-02-27 02:56:11 +09:00
Trace.h
TypeBasedAliasAnalysis.h
TypeMetadataUtils.h Reland: Dead Virtual Function Elimination 2019-10-17 09:58:57 +00:00
ValueLattice.h [ValueLattice] Update markConstantRange to return false equal ranges. 2020-02-15 22:06:55 +01:00
ValueLatticeUtils.h
ValueTracking.h [ValueTracking] Update implied reasoning to accept expanded cmp (NFC). 2020-02-07 10:27:29 +00:00
VecFuncs.def Lower generic MASSV entries to PowerPC subtarget-specific entries 2019-11-04 17:17:24 +00:00
VectorUtils.h [VectorUtils] Move ToVectorTy to VectorUtils.h (NFC). 2020-02-21 17:31:24 +00:00