llvm-6502/lib/Transforms/Scalar
Chris Lattner aadadb3973 Fix the Convert to scalar to not insert dead loads in the store case. The
load is needed when we have a small store into a large alloca (at which 
point we get a load/insert/store sequence), but when you do a full-sized
store, this load ends up being dead.

This dead load is bad in really large nasty testcases where the load ends
up causing mem2reg to insert large chains of dependent phi nodes which only
ADCE can delete.  Instead of doing this, just don't insert the dead load.

This fixes rdar://6864035



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91917 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-22 19:33:28 +00:00
..
ABCD.cpp Fix DenseMap iterator constness. 2009-11-10 01:02:17 +00:00
ADCE.cpp eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861 2009-09-02 06:11:42 +00:00
BasicBlockPlacement.cpp eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861 2009-09-02 06:11:42 +00:00
CMakeLists.txt remove the now dead condprop pass, PR3906. 2009-11-11 05:56:35 +00:00
CodeGenPrepare.cpp Revert 91280-91283, 91286-91289, 91291, 91293, 91295-91296. It apparently introduced a non-deterministic behavior in the optimizer somewhere. 2009-12-17 09:39:49 +00:00
ConstantProp.cpp remove a bunch of extraneous LLVMContext arguments 2009-11-06 04:27:31 +00:00
DCE.cpp eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861 2009-09-02 06:11:42 +00:00
DeadStoreElimination.cpp formatting cleanups. 2009-12-02 06:35:55 +00:00
GEPSplitter.cpp Check in the experimental GEP splitter pass. This pass splits complex 2009-10-26 19:12:14 +00:00
GVN.cpp The phi translated pointer can be computed when returning a partially cached result 2009-12-22 04:25:02 +00:00
IndVarSimplify.cpp Add Loop contains utility methods for testing whether a loop 2009-12-18 01:24:09 +00:00
InstructionCombining.cpp Add suggested parentheses. 2009-12-21 23:27:57 +00:00
JumpThreading.cpp fix PR5698 2009-12-06 17:17:23 +00:00
LICM.cpp Add Loop contains utility methods for testing whether a loop 2009-12-18 01:24:09 +00:00
LoopDeletion.cpp LoopDeletion depends on loops having dedicated exits. 2009-11-05 21:47:04 +00:00
LoopIndexSplit.cpp Add Loop contains utility methods for testing whether a loop 2009-12-18 01:24:09 +00:00
LoopRotation.cpp Update various Loop optimization passes to cope with the possibility that 2009-11-05 21:11:53 +00:00
LoopStrengthReduce.cpp Add Loop contains utility methods for testing whether a loop 2009-12-18 01:24:09 +00:00
LoopUnrollPass.cpp Replace LoopUnrollPass.cpp's custom code-size estimation code using 2009-10-31 14:54:17 +00:00
LoopUnswitch.cpp Add Loop contains utility methods for testing whether a loop 2009-12-18 01:24:09 +00:00
Makefile Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
MemCpyOptimizer.cpp Introduce and use convenience methods for getting pointer types 2009-10-06 15:40:36 +00:00
Reassociate.cpp Remove LLVMContext from reassociate. It was threaded through every function but 2009-11-14 07:25:54 +00:00
Reg2Mem.cpp clean up this code a bit. 2009-09-02 06:15:37 +00:00
Scalar.cpp remove the now dead condprop pass, PR3906. 2009-11-11 05:56:35 +00:00
ScalarReplAggregates.cpp Fix the Convert to scalar to not insert dead loads in the store case. The 2009-12-22 19:33:28 +00:00
SCCP.cpp Fix a use of an invalidated iterator in the case where there are multiple 2009-11-23 16:13:39 +00:00
SCCVN.cpp Eliminte unnecessary uses of <cstdio>. 2009-12-18 03:25:51 +00:00
SimplifyCFGPass.cpp Implement PR5795 by merging duplicated return blocks. This could go further 2009-12-22 06:07:30 +00:00
SimplifyHalfPowrLibCalls.cpp improve portability to avoid conflicting with std::next in c++'0x. 2009-12-03 00:50:42 +00:00
SimplifyLibCalls.cpp Whitespace fixes. 2009-12-22 01:23:51 +00:00
TailDuplication.cpp remove a bunch of extraneous LLVMContext arguments 2009-11-06 04:27:31 +00:00
TailRecursionElimination.cpp Improve tail call elimination to handle the switch statement. 2009-11-07 21:10:15 +00:00