llvm-6502/lib/Transforms/InstCombine
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
..
CMakeLists.txt llvm/lib: [CMake] Add explicit dependency to intrinsics_gen. 2012-06-24 13:32:01 +00:00
InstCombine.h instcombine: merge the functions that remove dead allocas and dead mallocs/callocs/... 2012-07-09 18:38:20 +00:00
InstCombineAddSub.cpp Remove a instcombine transform that (no longer?) makes sense: 2012-06-26 22:03:13 +00:00
InstCombineAndOrXor.cpp InstCombine: fix a bug when combining (fcmp cc0 x, y) && (fcmp cc1 x, y). 2012-06-14 05:57:42 +00:00
InstCombineCalls.cpp Make MemoryBuiltins aware of TargetLibraryInfo. 2012-08-29 15:32:21 +00:00
InstCombineCasts.cpp Revert remaining part of r93200: "Disable folding sext(trunc(x)) -> x" 2012-06-22 16:36:43 +00:00
InstCombineCompares.cpp InstCombine: Fix a crasher when encountering a function pointer. 2012-08-18 22:04:34 +00:00
InstCombineLoadStoreAlloca.cpp Port the global copy optimization from the SROA pass to InstCombine. 2012-08-21 08:39:44 +00:00
InstCombineMulDivRem.cpp InstCombine: Defensively avoid undefined shifts by limiting the amount to the bit width. 2012-08-28 13:59:23 +00:00
InstCombinePHI.cpp
InstCombineSelect.cpp fix infinite loop in instcombine in the presence of a (malformed) self-referencing select inst. 2012-07-27 18:03:57 +00:00
InstCombineShifts.cpp PR12967: Don't crash when trying to fold a shift that's larger than the type's size. 2012-05-27 22:03:32 +00:00
InstCombineSimplifyDemanded.cpp Simplify demanded bits of select sources where the condition is a constant vector 2012-07-26 23:10:24 +00:00
InstCombineVectorOps.cpp
InstCombineWorklist.h Use an iterator instead of calling .size() on the worklist every time, which is wasteful. 2012-03-15 11:19:41 +00:00
InstructionCombining.cpp Make MemoryBuiltins aware of TargetLibraryInfo. 2012-08-29 15:32:21 +00:00
LLVMBuild.txt
Makefile