llvm-6502/include/llvm/Analysis
Benjamin Kramer 8e0d1c03ca Make MemoryBuiltins aware of TargetLibraryInfo.
This disables malloc-specific optimization when -fno-builtin (or -ffreestanding)
is specified. This has been a problem for a long time but became more severe
with the recent memory builtin improvements.

Since the memory builtin functions are used everywhere, this required passing
TLI in many places. This means that functions that now have an optional TLI
argument, like RecursivelyDeleteTriviallyDeadFunctions, won't remove dead
mallocs anymore if the TLI argument is missing. I've updated most passes to do
the right thing.

Fixes PR13694 and probably others.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162841 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-29 15:32:21 +00:00
..
AliasAnalysis.h Make MemoryBuiltins aware of TargetLibraryInfo. 2012-08-29 15:32:21 +00:00
AliasSetTracker.h Make aliasesPointer and aliasesUnknownInst public members of AliasSet. 2012-02-10 15:52:37 +00:00
BlockFrequencyImpl.h Fix typos found by http://github.com/lyda/misspell-check 2012-06-02 10:20:22 +00:00
BlockFrequencyInfo.h Add some constantness to BranchProbabilityInfo and BlockFrequnencyInfo. 2011-12-20 20:03:10 +00:00
BranchProbabilityInfo.h BranchProb: modify the definition of an edge in BranchProbabilityInfo to handle 2012-08-24 18:14:27 +00:00
CallGraph.h Teach the CallGraph to ignore calls to intrinsics. 2011-06-09 19:46:27 +00:00
CaptureTracking.h Move includes to the .cpp file. 2012-01-17 22:16:31 +00:00
CFGPrinter.h Taken into account Duncan's comments for r149481 dated by 2nd Feb 2012: 2012-03-08 07:06:20 +00:00
CodeMetrics.h A pile of long over-due refactorings here. There are some very, *very* 2012-05-04 00:58:03 +00:00
ConstantFolding.h Split the interesting bits of ConstantFoldLoadThroughGEPConstantExpr 2012-01-24 05:43:50 +00:00
ConstantsScanner.h
DominanceFrontier.h Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:50:00 +00:00
DominatorInternals.h Change the Dominators recalculate() function to only rely on GraphTraits 2011-12-05 19:17:04 +00:00
Dominators.h Teach GVN to reason about edges dominating uses. This allows it to handle cases 2012-08-16 15:09:43 +00:00
DomPrinter.h
DOTGraphTraitsPass.h Remove all remaining uses of Value::getNameStr(). 2011-11-15 16:27:03 +00:00
FindUsedTypes.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
InlineCost.h A pile of long over-due refactorings here. There are some very, *very* 2012-05-04 00:58:03 +00:00
InstructionSimplify.h Refactor the interface to recursively simplifying instructions to be tad 2012-03-24 21:11:24 +00:00
Interval.h
IntervalIterator.h Convert assert(0) to llvm_unreachable 2012-02-05 22:14:15 +00:00
IntervalPartition.h Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
IVUsers.h Cleanup IVUsers::addUsersIfInteresting. 2012-03-22 17:47:33 +00:00
LazyValueInfo.h Fix a few more places where TargetData/TargetLibraryInfo is not being passed. 2011-12-02 01:26:24 +00:00
LibCallAliasAnalysis.h Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
LibCallSemantics.h Remove the experimental AliasAnalysis::getDependency interface, which 2010-09-14 21:25:10 +00:00
Lint.h Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
Loads.h enhance jump threading to preserve TBAA information when PRE'ing loads, 2012-03-13 18:07:41 +00:00
LoopDependenceAnalysis.h Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
LoopInfo.h Enable the new LoopInfo algorithm by default. 2012-06-26 04:11:38 +00:00
LoopInfoImpl.h Enable the new LoopInfo algorithm by default. 2012-06-26 04:11:38 +00:00
LoopIterator.h Allow for customized graph edge pruning in PostOrderIterator.h 2012-07-17 15:35:40 +00:00
LoopPass.h Reapply r138695. Fix PassManager stack depths. 2011-08-29 17:07:00 +00:00
MemoryBuiltins.h Make MemoryBuiltins aware of TargetLibraryInfo. 2012-08-29 15:32:21 +00:00
MemoryDependenceAnalysis.h Fix a documentation typo. 2012-08-13 15:29:53 +00:00
Passes.h Profile: set branch weight metadata with data generated from profiling. 2012-08-28 22:21:25 +00:00
PathNumbering.h Implementation of path profiling. 2011-01-29 01:09:53 +00:00
PathProfileInfo.h Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
PHITransAddr.h Propagate TargetLibraryInfo throughout ConstantFolding.cpp and 2011-12-01 03:08:23 +00:00
PostDominators.h remove postdom frontiers, because it is dead. Forward dom frontiers are 2011-04-05 21:57:17 +00:00
ProfileDataLoader.h Profile: set branch weight metadata with data generated from profiling. 2012-08-28 22:21:25 +00:00
ProfileDataTypes.h Forgot to check in ProfileDataTypes.h in r162576 2012-08-24 18:40:00 +00:00
ProfileInfo.h Convert assert(0) to llvm_unreachable 2012-02-05 22:14:15 +00:00
ProfileInfoLoader.h Remove unused private member variables uncovered by the recent changes to clang's -Wunused-private-field. 2012-07-20 22:05:57 +00:00
ProfileInfoTypes.h Profile: move a single enum out of ProfileInfoTypes.h into a new 2012-08-24 18:31:44 +00:00
RegionInfo.h Remove the the block_node_iterator of Region, replace it by the block_iterator. 2012-08-27 13:49:24 +00:00
RegionIterator.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
RegionPass.h Reapply r138695. Fix PassManager stack depths. 2011-08-29 17:07:00 +00:00
RegionPrinter.h Add new RegionInfo pass. 2010-07-22 07:46:31 +00:00
ScalarEvolution.h Teach SCEV's icmp simplification logic that a-b == 0 is equivalent to a == b. 2012-05-30 18:32:23 +00:00
ScalarEvolutionExpander.h LSR Fix: check SCEV expression safety before expansion. 2012-07-13 23:33:10 +00:00
ScalarEvolutionExpressions.h SCEVTraversal: Add a visited set. 2012-07-18 05:14:03 +00:00
ScalarEvolutionNormalization.h Generalize IVUsers to track arbitrary expressions rather than expressions 2010-04-07 22:27:08 +00:00
SparsePropagation.h Eliminate unnecessary LLVMContexts. 2009-12-18 23:42:08 +00:00
Trace.h
ValueTracking.h Teach DeadStoreElimination to eliminate exit-block stores with phi addresses. 2012-05-10 18:57:38 +00:00
Verifier.h Fix a comment. 2010-04-08 17:41:04 +00:00