llvm/lib/Transforms/IPO
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
..
ArgumentPromotion.cpp Replace some explicit compare loops with std::equal. 2012-07-19 10:46:05 +00:00
CMakeLists.txt llvm/lib: [CMake] Add explicit dependency to intrinsics_gen. 2012-06-24 13:32:01 +00:00
ConstantMerge.cpp
DeadArgumentElimination.cpp switch AttrListPtr::get to take an ArrayRef, simplifying a lot of clients. 2012-05-28 01:47:44 +00:00
ExtractGV.cpp Remove tabs. 2012-07-19 00:11:40 +00:00
FunctionAttrs.cpp
GlobalDCE.cpp Implement the isSafeToDiscardIfUnused predicate and use it in globalopt and 2012-06-14 22:48:13 +00:00
GlobalOpt.cpp Make MemoryBuiltins aware of TargetLibraryInfo. 2012-08-29 15:32:21 +00:00
InlineAlways.cpp Fix a pretty scary bug I introduced into the always inliner with 2012-04-01 10:21:05 +00:00
Inliner.cpp Make MemoryBuiltins aware of TargetLibraryInfo. 2012-08-29 15:32:21 +00:00
InlineSimple.cpp Remove a bunch of empty, dead, and no-op methods from all of these 2012-03-31 12:48:08 +00:00
Internalize.cpp Add a Fixme. 2012-04-16 04:23:52 +00:00
IPConstantPropagation.cpp
IPO.cpp
LLVMBuild.txt
LoopExtractor.cpp Move the CodeExtractor utility to a dedicated header file / source file, 2012-05-04 10:18:49 +00:00
Makefile
MergeFunctions.cpp Remove tabs. 2012-07-19 00:11:40 +00:00
PartialInlining.cpp Move the CodeExtractor utility to a dedicated header file / source file, 2012-05-04 10:18:49 +00:00
PassManagerBuilder.cpp By default, use Early-CSE instead of GVN for vectorization cleanup. 2012-04-13 17:15:33 +00:00
PruneEH.cpp
StripDeadPrototypes.cpp
StripSymbols.cpp Move the "findUsedStructTypes" functionality outside of the Module class. 2012-08-03 00:30:35 +00:00